Cette bibliothèque PHP est une collection de traits et d'interfaces qui ajoutent des comportements aux entités et référentiels Doctrine.
Il gère actuellement :
composer require knplabs/doctrine-behaviors
Il suffit de définir une entité Doctrine :
Pour certains comportements comme l'arborescence, vous pouvez utiliser les traits du référentiel :
<?php
declare (strict_types= 1 );
namespace App Repository ;
use Doctrine ORM EntityRepository ;
use Knp DoctrineBehaviors ORM Tree TreeTrait ;
final class CategoryRepository extends EntityRepository
{
use TreeTrait;
}
Voilà !
Vous disposez maintenant d'une Category
fonctionnelle qui se comporte comme .
Une extension PHPStan est disponible et offre les fonctionnalités suivantes :
TranslatableInterface::getTranslations()
et TranslatableInterface::getNewTranslations()
TranslatableInterface::translate()
TranslationInterface::getTranslatable()
Incluez phpstan-extension.neon
dans la configuration PHPStan de votre projet :
# phpstan.neon
includes :
- vendor/knplabs/doctrine-behaviors/phpstan-extension.neon
1 fonctionnalité par pull-request
La nouvelle fonctionnalité nécessite des tests
Les tests et analyses statiques doivent réussir :
vendor/bin/phpunit
composer fix-cs
composer phpstan
Il y a eu de nombreux changements entre 1 et 2, mais ne vous inquiétez pas. Ce package utilise Rector, qui gère la mise à niveau pour vous.
composer require rector/rector --dev
Créez la configuration rector.php
:
vendor/bin/rector init
Ajoutez l'ensemble de mise à niveau des comportements de doctrine à rector.php
:
use Rector Core Configuration Option ;
use Symfony Component DependencyInjection Loader Configurator ContainerConfigurator ;
use Rector Doctrine Set DoctrineSetList ;
return static function ( ContainerConfigurator $ containerConfigurator ): void {
$ containerConfigurator -> import (DoctrineSetList:: DOCTRINE_BEHAVIORS_20 );
};
Exécuter le recteur :
vendor/bin/rector process src