Skip to content

darkphoenixff4/DoctrineBehaviors

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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;

}

About

KnpLabs/DoctrineBehaviors integration into Nette

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%