Aller au contenu

Installation

phil/taxonomy-bundle
PrérequisVersionPourquoi
PHP8.5 ou plus récentLe plancher que déclare le bundle
ext-intl, ext-mbstringtoute versionLa langue de la requête ; les noms comptés en caractères
doctrine/orm^3.7Les tables
symfony/form, symfony/options-resolver^8.2Les types de formulaire
phil/slug^0.1Les slugs des noms d'étiquettes et les clés de catégorie
phil/resource^0.1ResourceReference, la ressource à laquelle une étiquette ou une catégorie est attribuée
symfony/uid^8.2Les identifiants
symfony/dependency-injection, symfony/config^8.2La classe du bundle et sa configuration
composer require phil/taxonomy-bundle
// config/bundles.php
return [
    // ...
    Phil\TaxonomyBundle\PhilTaxonomyBundle::class => ['all' => true],
];
# config/packages/phil_taxonomy.yaml
phil_taxonomy:
    fallback_locale: en   # the language of a name when there is none in the language asked
    slugger: ~            # the service id of the slugger of names and keys; ~ for the default one

Avec DoctrineBundle, le bundle associe ses entités ; les migrations de l'application créent quatre tables :

TableColonnes
phil_taxonomy_tagid, name (100), slug (128, unique)
phil_taxonomy_categoryid, category_key (128, unique), parent (suppression restreinte), path (420, indexé), position
phil_taxonomy_category_translationid, category (suppression en cascade), locale (16), name (150), description ; unique sur la catégorie et la locale
phil_taxonomy_assignmentid, term_type (tag ou category), term_id, resource_kind (64), resource_id (255) ; unique sur les quatre, indexé sur la ressource