Popular Packages
-
PHP
phil/browser-security-bundle
The protections a Symfony application asks of the browser, adjustable page by page: Content Security Policy with nonces, report-only and a bounded report endpoint, the neighbouring headers, HSTS and an HTTPS redirect, X-Frame-Options by path, signed cookies, external redirects refused, and Clear-Sit
-
-
PHP
phil/api-contract-bundle
Both sides of an unversioned HTTP API contract for Symfony, on phil/api-contract and phil/idempotency: exceptions as problem details, #[Idempotent] controllers with keys in Doctrine or a cache pool, #[DeprecatedEndpoint] controllers, the deprecations of called APIs recorded and checked in CI, and it
-
PHP
phil/api-contract
Both sides of an unversioned HTTP API contract in plain PHP: RFC 9457 problem details, Deprecation and Sunset signals, tolerant reading of enumerations, and the verification of an OpenAPI document against levels of rules
-
PHP
phil/ux-bundle
PHIL UX in a Symfony application: the PHIL UX form theme, applied to every form, and the stylesheet of phil/ux-css mapped in AssetMapper
-
PHP
phil/translation-memory
Translation by segments: UJO documents cut by block or sentence, segments with source fingerprints and states, regional variants that inherit from their parent language, a memory with exact and fuzzy matches, a glossary with inflected forms, quality checks of punctuation, tags, plurals and rendered
-
PHP
phil/search-synonyms
Search synonyms per language: equivalent and one-way rules, validated, read and written in the Solr synonyms format or JSON, kept in files or the application's own store
-
PHP
phil/search-loupe
The Loupe adapter of phil/search-bundle: indexes in SQLite files, with typo tolerance and relevance, and no server to run. Loupe requires joomla/string, under GPL-2.0-or-later
-
PHP
phil/search-bundle
Search for a Symfony application: resources turned into documents, indexed in a table of the database, in Meilisearch or in Loupe through phil/search-loupe, up to date at each Doctrine flush, searched with facet counts and synonyms per language, rebuilt, and filtered on a results page that works wit
-
PHP
phil/scheduled-transitions-bundle
Transitions planned for a moment in a Symfony application — publish on, unpublish on —, applied by their handlers or by symfony/workflow, from Symfony Scheduler or a command, with retries
-
PHP
phil/publishing
The PagePublished and PageRetired events and their contract: a page's canonical address, language, indexable flag and owner identifier, for the listeners that follow what goes online and offline
-
PHP
phil/indexing-consent
The reach of a public record as the person it is about decides it: listed, kept out of search engines, or unlisted, asked by the sitemap, the structured data and the listings of a site
-
PHP
phil/identity-client-bundle
OpenID Connect sign-in for Symfony on the native oidc_login authenticator: one semantic configuration, sub-indexed provisioning, validated return_to, replay-guarded back-channel logout, a session cap, step-up by acr_values and max_age, and serialized token refresh
-
PHP
phil/idempotency
Each operation run once per idempotency key: keys scoped to their caller, request fingerprints, the response kept and replayed, three states with an expiring in-progress one, and stores on a port, with adapters for Doctrine DBAL and the Symfony cache under a Symfony lock, for HTTP APIs, Messenger ha
-
PHP
phil/email-address
Email addresses a mail server can deliver to: RFC 5321 mailbox syntax with international domains and the RFC 6531 forms an application allows, MX, null MX and A records through a port, disposable domains and IANA top-level domains imported as data, denied and allowed domains, and suggestions for sli