Aller au contenu

Installation

phil/enums-bundle

Prérequis

PrérequisPourquoi
PHP 8.5 ou plus récent, ext-mbstringLes clés de traduction générées mettent en minuscules des noms de cas qui peuvent contenir des lettres hors ASCII.
phil/enumsLes métadonnées (Label, Description, Group), le lecteur de métadonnées et CaseCollection.
symfony/form, symfony/options-resolverL'extension de EnumType.
symfony/validatorLa contrainte EnumCase.
symfony/translation-contractsTranslatableInterface, qu'implémentent les enums traduisibles.
twig/twigLes fonctions et les filtres Twig.
symfony/dependency-injection, symfony/configLa classe du bundle et sa configuration.
ext-tokenizerLe chercheur des commandes et de l'extracteur de traductions lit les fichiers PHP par leurs jetons.

Plusieurs paquets sont facultatifs : le bundle n'enregistre ce qui en a besoin que s'ils sont installés, et il les suggère.

Paquet facultatifActive
symfony/translationL'extracteur de traductions et la vérification des traductions de debug:enums (Traduction).
symfony/consoleLes commandes debug:enums et phil:enums:typescript (Commandes).
symfony/serializerLe normaliseur des ensembles d'enums, des tables d'enums et des cas avec libellé (API).
doctrine/dbalLes types de colonne EnumSet (Doctrine).
doctrine/ormLa commande phil:enums:check-sets.
symfony/http-kernelLe résolveur d'arguments de contrôleur #[ParseEnum].
symfony/expression-languageLes fonctions d'expression.
api-platform/symfonyLes schémas d'enum des ressources API Platform (API).
nelmio/api-doc-bundleLes schémas d'enum des modèles NelmioApiDoc (API).
symfony/maker-bundlemake:enum (Commandes).
symfony/workflowLes machines à états construites à partir de #[TransitionsTo] (Routage, expressions et workflows).

L'application enregistre FrameworkBundle, et TwigBundle pour la partie Twig : le bundle étiquette ses services pour eux (form.type_extension, validator.constraint_validator, twig.attribute_extension, twig.runtime) et utilise le service translator s'il existe.

Installer

composer require phil/enums-bundle
// config/bundles.php
return [
    // …
    Phil\EnumsBundle\PhilEnumsBundle::class => ['all' => true],
];

Sa configuration est facultative : voir Configuration.