Port of KnpLabs/DoctrineBehaviors to Nette DI
Supported behaviors:
- Blameable
- Geocodable
- Loggable
- Sluggable
- SoftDeletable
- Translatable
- Timestampable
- Tree
For implementation to entities, check tests.
Via Composer:
$ composer require zenify/doctrine-behaviorsRegister extensions you need in config.neon:
extensions:
	translatable: Zenify\DoctrineBehaviors\DI\TranslatableExtension
	- Zenify\DoctrineBehaviors\DI\TimestampableExtensionSetup your translator locale callback in config.neon:
translatable:
	currentLocaleCallable: [@Translator, getLocale]Place trait to your entity:
class Article
{
	
	use Knp\DoctrineBehaviors\Model\Translatable\Translatable;
	// returns translated property for $article->getTitle() or $article->title
	use Zenify\DoctrineBehaviors\Entities\Attributes\Translatable;
}And its translation entity:
class ArticleTranslation
{
	
	use Knp\DoctrineBehaviors\Model\Translatable\Translation;
	/**
	 * @ORM\Column(type="string")
	 * @var string
	 */
	public $title;
}For deeper knowledge see test for:
Place trait to your entity to ad $createdAt and $updatedAt properties:
class Article
{
	
	use Knp\DoctrineBehaviors\Model\Timestampable\Timestampable;
}composer check-cs
vendor/bin/phpunitRules are simple:
- new feature needs tests
- all tests must pass
- 1 feature per PR
We would be happy to merge your feature then!