fabiang / doctrine-dynamic-laminas
Laminas binding for doctrine-dynamic
v2.1.0
2024-11-26 13:27 UTC
Requires
- php: ^7.4 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0
- doctrine/doctrine-orm-module: ^3.0 || ^4.0 || ^5.1 || ^6.0
- doctrine/orm: ^2.5
- fabiang/doctrine-dynamic: ^1.0 || ^2.0
- laminas/laminas-eventmanager: ^3.0
- laminas/laminas-modulemanager: ^2.9
- laminas/laminas-mvc: ^3.0
- laminas/laminas-servicemanager: ^3.0
- laminas/laminas-stdlib: ^3.12
Requires (Dev)
- laminas/laminas-coding-standard: >=2.3
- phpspec/prophecy: >=1.20
- phpspec/prophecy-phpunit: >=2.3
- phpunit/phpunit: >=9.6.21
- vimeo/psalm: >=5.26
- webmozart/assert: >=1.11.0
Replaces
This package is auto-updated.
Last update: 2024-11-26 13:36:36 UTC
README
Laminas binding for fabiang/doctrine-dynamic.
Installation
New to Composer? Read the introduction. Run the following Composer command:
$ composer require fabiang/doctrine-dynamic-laminas
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.