Esta biblioteca PHP é uma coleção de características e interfaces que adicionam comportamentos às entidades e repositórios do Doctrine.
Atualmente trata:
composer require knplabs/doctrine-behaviors
Tudo que você precisa fazer é definir uma entidade Doutrina:
Para alguns comportamentos como árvore, você pode usar características do repositório:
<?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á!
Agora você tem uma Category
funcional que se comporta como.
Uma extensão PHPStan está disponível e oferece os seguintes recursos:
TranslatableInterface::getTranslations()
e TranslatableInterface::getNewTranslations()
TranslatableInterface::translate()
TranslationInterface::getTranslatable()
Inclua phpstan-extension.neon
na configuração do PHPStan do seu projeto:
# phpstan.neon
includes :
- vendor/knplabs/doctrine-behaviors/phpstan-extension.neon
1 recurso por solicitação pull
Novo recurso precisa de testes
Os testes e análises estáticas devem passar :
vendor/bin/phpunit
composer fix-cs
composer phpstan
Houve muitas mudanças entre 1 e 2, mas não se preocupe. Este pacote usa Rector, que cuida da atualização para você.
composer require rector/rector --dev
Crie a configuração rector.php
:
vendor/bin/rector init
Adicione o conjunto de atualização do Doctrine Behaviors a 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 );
};
Executar Reitor:
vendor/bin/rector process src