diabelb/doctrine-behaviors

Doctrine 行为特性

安装次数: 17

依赖者: 0

建议者: 0

安全性: 0

星标: 0

关注者: 1

分支: 292

类型:symfony-bundle


README

Build Status Downloads

这是一个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

一个PHPStan扩展可用,并提供以下功能

  • TranslatableInterface::getTranslations()TranslatableInterface::getNewTranslations() 提供正确的返回类型
  • TranslatableInterface::translate() 提供正确的返回类型
  • TranslationInterface::getTranslatable() 提供正确的返回类型

在您的项目的PHPStan配置中包含 phpstan-extension.neon

# phpstan.neon
includes:
    - vendor/knplabs/doctrine-behaviors/phpstan-extension.neon

贡献的3个步骤

  • 每个pull-request一个功能

  • 新功能需要测试

  • 测试和静态分析 必须通过

    vendor/bin/phpunit
    composer fix-cs
    composer phpstan

从1.x升级到2

1和2之间有很多变化,但不用担心。此包使用Rector,它会为您处理升级。

composer require rector/rector --dev
vendor/bin/rector process src --config vendor/rector/rector/config/set/doctrine-behaviors-20.yaml