DoctrineBehaviors
vior 2.3 Released
这个 PHP 库是特征和接口的集合,它们向 Doctrine 实体和存储库添加行为。
目前它处理:
composer require knplabs/doctrine-behaviors
您所要做的就是定义一个 Doctrine 实体:
对于某些行为(例如树),您可以使用存储库特征:
<?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;
}
瞧!
您现在拥有一个行为类似的工作Category
。
PHPStan 扩展可用并提供以下功能:
TranslatableInterface::getTranslations()
和TranslatableInterface::getNewTranslations()
提供正确的返回类型TranslatableInterface::translate()
提供正确的返回类型TranslationInterface::getTranslatable()
提供正确的返回类型将phpstan-extension.neon
包含在项目的 PHPStan 配置中:
# phpstan.neon
includes :
- vendor/knplabs/doctrine-behaviors/phpstan-extension.neon
每个拉取请求 1 个功能
新功能需要测试
测试和静态分析必须通过:
vendor/bin/phpunit
composer fix-cs
composer phpstan
1 和 2 之间发生了很多变化,但不用担心。该软件包使用 Rector,为您处理升级。
composer require rector/rector --dev
创建rector.php
配置:
vendor/bin/rector init
将 Doctrine Behaviours 升级集添加到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 );
};
运行校长:
vendor/bin/rector process src