core23 / doctrine-extensions
Requires
- php: ^7.2
- doctrine/common: ^2.8
- doctrine/dbal: ^2.6
- doctrine/event-manager: ^1.0
- doctrine/orm: ^2.5
- sonata-project/doctrine-extensions: ^1.3.1
- symfony/property-access: ^4.2 || ^5.0
Requires (Dev)
- bamarni/composer-bin-plugin: ^1.3
- doctrine/doctrine-bundle: ^1.11 || ^2.0
- ergebnis/composer-normalize: ^2.0.1
- symfony/browser-kit: ^4.4 || ^5.0
- symfony/dependency-injection: ^4.2 || ^5.0
- symfony/expression-language: ^4.2 || ^5.0
- symfony/framework-bundle: ^4.2 || ^5.0
Suggests
- symfony/framework-bundle: If you want to use symfony
Conflicts
- symfony/framework-bundle: <4.2
This package is auto-updated.
Last update: 2020-06-27 18:23:26 UTC
README
这个库提供了一些有用的doctrine钩子。
安装
打开命令行控制台,进入您的项目目录,然后执行以下命令以下载此库的最新稳定版本
composer require core23/doctrine-extensions
用法
可确认实体
如果您需要需要确认的实体,只需在您的实体类中实现Core23\Doctrine\Model\ConfirmableInterface
。
如果您不需要symfony框架,您需要注册Core23\Doctrine\EventListener\ORM\ConfirmableListener
。
可删除实体
如果您需要软删除的实体,只需在您的实体类中实现Core23\Doctrine\Model\DeletableInterface
。
如果您不需要symfony框架,您需要注册Core23\Doctrine\EventListener\ORM\DeletableListener
。
生命周期感知实体
如果您需要包含生命周期信息(创建/更新日期)的实体,只需在您的实体类中实现Core23\Doctrine\Model\LifecycleDateTimeInterface
。
如果您不需要symfony框架,您需要注册Core23\Doctrine\EventListener\ORM\LifecycleDateListener
。
位置感知实体
如果您需要可排序的实体,只需在您的实体类中实现Core23\Doctrine\Model\PositionAwareInterface
。
如果您不需要symfony框架,您需要注册Core23\Doctrine\EventListener\ORM\SortableListener
。
唯一活动实体
如果您需要只能有一个活动状态的实体,只需在您的实体类中实现Core23\Doctrine\Model\UniqueActiveInterface
。
如果您不需要symfony框架,您需要注册Core23\Doctrine\EventListener\ORM\UniqueActiveListener
。
表前缀
如果您需要为所有应用程序表和序列设置前缀,可以使用TablePrefixEventListener
。如果表名已经以定义的前缀开头,它将被忽略。
如果您不需要symfony框架,您需要注册Core23\Doctrine\EventListener\ORM\TablePrefixEventListener
。
Symfony用法
如果您想在symfony中使用此库,可以使用一个桥接器。
启用Bundle
然后,通过将其添加到项目中 config/bundles.php
文件中已注册的包列表中来启用该包
// config/bundles.php return [ // ... Core23\Doctrine\Bridge\Symfony\Bundle\Core23DoctrineBundle::class => ['all' => true], ];
配置包
创建一个名为 core23_doctrine.yaml
的配置文件
# config/packages/core23_doctrine.yaml core23_doctrine: table: prefix: 'acme_'
许可协议
此库采用 MIT 许可协议。