balicekt/doctrine-behaviors

KnpLabs/DoctrineBehaviors到Nette\DI的集成

5.0.0 2019-01-30 20:21 UTC

README

Build Status Quality Score Code Coverage Downloads total Latest stable

KnpLabs/DoctrineBehaviors到Nette DI的移植

支持的行为

  • Blameable
  • Geocodable
  • Loggable
  • Sluggable
  • SoftDeletable
  • Translatable
  • Timestampable
  • Tree

对于实体的实现,请查看tests

安装

通过Composer

$ composer require zenify/doctrine-behaviors

config.neon中注册您需要的扩展

extensions:
	translatable: Zenify\DoctrineBehaviors\DI\TranslatableExtension
	- Zenify\DoctrineBehaviors\DI\TimestampableExtension

使用

Translatable

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的测试

Timestampable

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

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

}

测试

composer check-cs
vendor/bin/phpunit

贡献

规则很简单

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

我们很高兴能合并您的功能!