fabiang/doctrine-dynamic-zf

This package is abandoned and no longer maintained. The author suggests using the fabiang/doctrine-dynamic-laminas package instead.

Zend Framework binding for doctrine-dynamic

v0.3.0 2018-04-26 14:53 UTC

This package is auto-updated.

Last update: 2021-01-13 16:38:26 UTC


README

Zend Framework 2/3 binding for fabiang/doctrine-dynamic.

Latest Stable Version License Dependency Status Build Status Scrutinizer Code Quality Code Coverage

Requirements

This module works with Zend Framework 2 and 3, but zendframework/zend-servicemanager must be at least at version 2.7.6.

Please see the composer.json file for all other packages required.

Installation

New to Composer? Read the introduction. Run the following Composer command:

$ composer require fabiang/doctrine-dynamic-zf

Configuration

Load the module by adding it to config/application.config.php:

return [
    'modules' => [
        /** **/
        'Fabiang\DoctrineDynamic',
    ],
];

Configure extra options and associations into your module configuration (e.g. config/module.config.php):

<?php

namespace Mymodule;

return [
    /** **/
    'doctrine_dynamic' => [
        \Mymodule\Entity\Customer::class => [
            'options' => [
                'repository' => \Mymodule\Repository\CustomerRepository::class,
            ],
            'fields' => [
                'fieldname' => [
                    'products' => [
                        'oneToMany' => [
                            [
                                'targetEntity' => \Mymodule\Entity\Customer::class,
                                'mappedBy'     => 'customer',
                            ]
                        ]
                    ]
                ]
            ]
        ],
        \Mymodule\Entity\Products::class => [
            'fields' => [
                'customer' => [
                    'manyToOne' => [
                        [
                            'targetEntity' => \Mymodule\Entity\Products::class,
                            'inversedBy'   => 'products',
                            'joinColumns'  => [
                                'name'                 => 'customer_id',
                                'referencedColumnName' => 'id'
                            ]
                        ]
                    ]
                ]
            ]
        ],
    ]
];

Development

This library is tested with PHPUnit.

Fork the project on Github and send an pull request with your changes. Make sure you didn't break anything with running the following commands:

composer install
./vendor/bin/phpunit

License

BSD-2-Clause. See the LICENSE.md.