core23/doctrine-extensions

This package is abandoned and no longer maintained. The author suggests using the nucleos/doctrine-extensions package instead.

Useful doctrine event hooks.

3.3.0 2020-01-03 15:18 UTC

This package is auto-updated.

Last update: 2020-06-27 18:23:26 UTC


README

Latest Stable Version Latest Unstable Version License

Total Downloads Monthly Downloads Daily Downloads

Continuous Integration Code Coverage

This library provides adds some useful doctrine hooks.

Installation

Open a command console, enter your project directory and execute the following command to download the latest stable version of this library:

composer require core23/doctrine-extensions

Usage

Confirmable entities

If you need entities that needs to be confirmed, just implement the Core23\Doctrine\Model\ConfirmableInterface in your entity class.

If you don't need the symfony framework, you need to register the Core23\Doctrine\EventListener\ORM\ConfirmableListener.

Deleteable entities

If you need entities that should be soft deleted, just implement the Core23\Doctrine\Model\DeletableInterface in your entity class.

If you don't need the symfony framework, you need to register the Core23\Doctrine\EventListener\ORM\DeletableListener.

Lifecyle aware enties

If you need lifecyle information (creation / update date), just implement the Core23\Doctrine\Model\LifecycleDateTimeInterface in your entity class.

If you don't need the symfony framework, you need to register the Core23\Doctrine\EventListener\ORM\LifecycleDateListener.

Position aware entities

If you need sortable entities, just implement the Core23\Doctrine\Model\PositionAwareInterface in your entity class.

If you don't need the symfony framework, you need to register the Core23\Doctrine\EventListener\ORM\SortableListener.

Unique active entities

If you need entities that should only have one active state, just implement the Core23\Doctrine\Model\UniqueActiveInterface in your entity class.

If you don't need the symfony framework, you need to register the Core23\Doctrine\EventListener\ORM\UniqueActiveListener.

Table prefix

If you need a prefix for all of you application tables and sequences, you could use the TablePrefixEventListener. If the table name does already start with the defined prefix, it will be ignored.

If you don't need the symfony framework, you need to register the Core23\Doctrine\EventListener\ORM\TablePrefixEventListener.

Symfony usage

If you want to use this library inside symfony, you can use a bridge.

Enable the Bundle

Then, enable the bundle by adding it to the list of registered bundles in config/bundles.php file of your project:

// config/bundles.php

return [
    // ...
    Core23\Doctrine\Bridge\Symfony\Bundle\Core23DoctrineBundle::class => ['all' => true],
];

Configure the Bundle

Create a configuration file called core23_doctrine.yaml:

# config/packages/core23_doctrine.yaml

core23_doctrine:
    table:
        prefix: 'acme_'

License

This library is under the MIT license.