oxylabs / doctrine-behaviors

此包已被废弃且不再维护。作者建议使用 oxylabs/doctrine-behaviors 包。

Doctrine 行为特性

安装: 620

依赖者: 0

建议者: 0

安全: 0

星标: 2

关注者: 1

分支: 240

类型:symfony-bundle


README

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

贡献三步曲

  • 每个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