Diese PHP-Bibliothek ist eine Sammlung von Merkmalen und Schnittstellen, die Verhaltensweisen zu Doctrine-Entitäten und -Repositorys hinzufügen.
Es verwaltet derzeit:
composer require knplabs/doctrine-behaviors
Sie müssen lediglich eine Doctrine-Entität definieren:
Für einige Verhaltensweisen wie „Tree“ können Sie Repository-Eigenschaften verwenden:
<?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à!
Sie haben jetzt eine funktionierende Category
, die sich wie folgt verhält.
Eine PHPStan-Erweiterung ist verfügbar und bietet die folgenden Funktionen:
TranslatableInterface::getTranslations()
und TranslatableInterface::getNewTranslations()
bereit.TranslatableInterface::translate()
bereit.TranslationInterface::getTranslatable()
bereit. Fügen Sie phpstan-extension.neon
in die PHPStan-Konfiguration Ihres Projekts ein:
# phpstan.neon
includes :
- vendor/knplabs/doctrine-behaviors/phpstan-extension.neon
1 Funktion pro Pull-Anfrage
Neue Funktion erfordert Tests
Tests und statische Analysen müssen bestehen :
vendor/bin/phpunit
composer fix-cs
composer phpstan
Es gab viele Änderungen zwischen 1 und 2, aber keine Sorge. Dieses Paket verwendet Rector, der das Upgrade für Sie übernimmt.
composer require rector/rector --dev
Erstellen Sie rector.php
-Konfiguration:
vendor/bin/rector init
Doctrine Behaviors-Upgrade-Set zu rector.php
hinzufügen:
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 );
};
Lauf Rektor:
vendor/bin/rector process src