zenify / doctrine-behaviors
This package is abandoned and no longer maintained.
The author suggests using the nettrine/extensions package instead.
Integration of KnpLabs/DoctrineBehaviors to Nette\DI
v4.2
2016-12-28 23:52 UTC
Requires
- php: ^7.0
- kdyby/events: ~3.0
- knplabs/doctrine-behaviors: ~1.4
- tracy/tracy: ~2.4
Requires (Dev)
- kdyby/doctrine: ~3.1
- nette/bootstrap: ~2.4
- nette/di: ~2.4
- nette/http: ~2.4
- nette/reflection: ~2.4
- nette/security: ~2.4
- phpunit/phpunit: ^5.6
- zenify/coding-standard: ^4.0
README
Port of KnpLabs/DoctrineBehaviors to Nette DI
Supported behaviors:
- Blameable
- Geocodable
- Loggable
- Sluggable
- SoftDeletable
- Translatable
- Timestampable
- Tree
For implementation to entities, check tests.
Install
Via Composer:
$ composer require zenify/doctrine-behaviors
Register extensions you need in config.neon
:
extensions: translatable: Zenify\DoctrineBehaviors\DI\TranslatableExtension - Zenify\DoctrineBehaviors\DI\TimestampableExtension
Usage
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 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:
Timestampable
Place trait to your entity to ad $createdAt
and $updatedAt
properties:
class Article { use Knp\DoctrineBehaviors\Model\Timestampable\Timestampable; }
Testing
composer check-cs vendor/bin/phpunit
Contributing
Rules are simple:
- new feature needs tests
- all tests must pass
- 1 feature per PR
We would be happy to merge your feature then!