vasyaxy/doctrine-behaviors

symfony 7+ 的 Doctrine 行为特性

安装: 140

依赖者: 0

建议者: 0

安全: 0

星标: 1

关注者: 0

分支: 291

类型:symfony-bundle

v1.3 2023-12-10 16:45 UTC

This package is auto-updated.

Last update: 2024-09-11 10:28:31 UTC


README

这是从 knplabs/doctrine-behaviors 分支出来的 symfony 7 的分支

这是一个 PHP 库,它包含了一系列特性接口,用于向 Doctrine 实体和仓库添加行为。

目前支持以下功能

安装

composer require vasyaxy/doctrine-behaviors

使用

您只需要定义一个 Doctrine 实体

  • 实现了接口
  • 添加一个特性

对于一些行为,如树形结构,您可以使用仓库特性

<?php

namespace App\Repository;

use Doctrine\ORM\EntityRepository;
use VasyaXY\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/vasyaxy/doctrine-behaviors/phpstan-extension.neon

贡献步骤

  • 每个 pull-request 一个特性

  • 新特性需要测试

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

    vendor/bin/phpunit
    composer fix-cs
    composer phpstan