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