clear01/doctrine-behaviors

KnpLabs/DoctrineBehaviors 集成到 Nette\DI

v4.2.2 2018-03-22 09:05 UTC

README

Build Status Quality Score Code Coverage Downloads total Latest stable

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;

}

要深入了解,请查看 TranslatableEntityTranslatableEntityTranslation 的测试

可时间戳的

将特性放到你的实体中以添加 $createdAt$updatedAt 属性

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

}

测试

composer check-cs
vendor/bin/phpunit

贡献

规则很简单

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

我们将很高兴合并您的特性!