zenify / doctrine-behaviors
v4.2
2016-12-28 23:52 UTC
Requires
- php: ^7.0
- kdyby/events: ~3.0
- knplabs/doctrine-behaviors: ~1.4
- 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
README
KnpLabs/DoctrineBehaviors 到 Nette DI 的移植
支持的行为
- 可追溯
- 可地理编码
- 可记录
- 可生成缩略名
- 软删除
- 可翻译
- 可时间戳
- 树形结构
关于实体实现的实现,请查看 测试。
安装
通过 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 一个功能
我们很乐意合并你的功能!