Skip to content
This repository has been archived by the owner on Jan 14, 2021. It is now read-only.

fabiang/doctrine-dynamic-zf

Repository files navigation

fabiang/doctrine-dynamic-zf

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.