Esta biblioteca PHP es una colección de características e interfaces que agregan comportamientos a las entidades y repositorios de Doctrine.
Actualmente maneja:
composer require knplabs/doctrine-behaviors
Todo lo que tienes que hacer es definir una entidad Doctrine:
Para algunos comportamientos como árbol, puedes usar rasgos de repositorio:
<?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á!
Ahora tienes una Category
funcional que se comporta como.
Hay una extensión PHPStan disponible que proporciona las siguientes características:
TranslatableInterface::getTranslations()
y TranslatableInterface::getNewTranslations()
TranslatableInterface::translate()
TranslationInterface::getTranslatable()
Incluya phpstan-extension.neon
en la configuración PHPStan de su proyecto:
# phpstan.neon
includes :
- vendor/knplabs/doctrine-behaviors/phpstan-extension.neon
1 función por solicitud de extracción
La nueva característica necesita pruebas
Las pruebas y análisis estáticos deben pasar :
vendor/bin/phpunit
composer fix-cs
composer phpstan
Ha habido muchos cambios entre 1 y 2, pero no te preocupes. Este paquete utiliza Rector, que se encarga de la actualización por usted.
composer require rector/rector --dev
Cree la configuración rector.php
:
vendor/bin/rector init
Agregue el conjunto de actualización de 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 );
};
Ejecutar rector:
vendor/bin/rector process src