zenify/doctrine-behaviors

此包已被弃用且不再维护。作者建议使用 nettrine/extensions 包代替。

KnpLabs/DoctrineBehaviors 到 Nette\DI 的集成

v4.2 2016-12-28 23:52 UTC

README

Build Status Quality Score Code Coverage Downloads total Latest stable

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;

}

对于更深入的了解,请查看 TranslatableEntityTranslatableEntityTranslation 的测试

可时间戳

将特质放置在实体中,添加 $createdAt$updatedAt 属性

class Article
{
	
	use Knp\DoctrineBehaviors\Model\Timestampable\Timestampable;

}

测试

composer check-cs
vendor/bin/phpunit

贡献

规则很简单

  • 新功能需要测试
  • 所有测试必须通过
  • 每个 PR 一个功能

我们很乐意合并你的功能!