Skip to content

Latest commit

 

History

History
executable file
·
105 lines (72 loc) · 2.47 KB

readme.md

File metadata and controls

executable file
·
105 lines (72 loc) · 2.47 KB

Zenify/DoctrineBehaviors

Build Status Downloads this Month Latest stable

Port of KnpLabs/DoctrineBehaviors to Nette

Supports behaviors:

  • Blameable
  • Geocodable
  • Loggable
  • Sluggable
  • SoftDeletable
  • Transltable
  • Timestampable

For implementation to entities, check tests.

Installation

The best way to install is using Composer.

Add to your composer.json:

"require": {
	"zenify/doctrine-behaviors": "~1.1",
	"knplabs/doctrine-behaviors": "@dev"
}

and run:

$ composer update

Register extensions you need in config.neon:

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

Translatable

Setup 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 it's translation entity:

class ArticleTranslation
{
	use Knp\DoctrineBehaviors\Model\Translatable\Translation;

	/**
	 * @ORM\Column(type="string")
	 * @var string
	 */
	public $title;

}

For deeper knowledge see test for:

Timestampable

Place trait to your entity to ad $createdAt and $updatedAt properties:

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

}