clear01 / doctrine-behaviors
KnpLabs/DoctrineBehaviors 集成到 Nette\DI
v4.2.2
2018-03-22 09:05 UTC
Requires
- php: ^7.0
- kdyby/events: ~3.0
- knplabs/doctrine-behaviors: 1.4.0
- tracy/tracy: ~2.4
Requires (Dev)
- kdyby/doctrine: ~3.1
- nette/bootstrap: ~2.4
- nette/di: ~2.4
- nette/http: ~2.4
- nette/reflection: ~2.4
- nette/security: ~2.4
- phpunit/phpunit: ^5.6
- zenify/coding-standard: ^4.0
This package is auto-updated.
Last update: 2024-09-09 14:15:31 UTC
README
将 KnpLabs/DoctrineBehaviors 移植到 Nette DI
支持的行为
- 可指责的
- 可地理编码的
- 可记录的
- 可生成短语的
- 可软删除的
- 可翻译的
- 可时间戳的
- 树形结构
要查看实体实现,请检查 tests。
安装
通过 Composer
$ composer require zenify/doctrine-behaviors
在 config.neon
中注册所需的扩展
extensions: translatable: Zenify\DoctrineBehaviors\DI\TranslatableExtension - Zenify\DoctrineBehaviors\DI\TimestampableExtension
使用方法
可翻译的
在 config.neon
中设置翻译器区域回调
translatable: currentLocaleCallable: [@Translator, getLocale]
将特性放到你的实体中
class Article { use Knp\DoctrineBehaviors\Model\Translatable\Translatable; // returns translated property for $article->getTitle() or $article->title use Zenify\DoctrineBehaviors\Entities\Attributes\Translatable; }
及其翻译实体
class ArticleTranslation { use Knp\DoctrineBehaviors\Model\Translatable\Translation; /** * @ORM\Column(type="string") * @var string */ public $title; }
要深入了解,请查看 TranslatableEntity 和 TranslatableEntityTranslation 的测试
可时间戳的
将特性放到你的实体中以添加 $createdAt
和 $updatedAt
属性
class Article { use Knp\DoctrineBehaviors\Model\Timestampable\Timestampable; }
测试
composer check-cs vendor/bin/phpunit
贡献
规则很简单
- 新特性需要测试
- 所有测试必须通过
- 每个 PR 一个特性
我们将很高兴合并您的特性!