thecodingmachine / tdbm-universal-module
Cross-framework module for thecodingmachine/tdbm
Requires
- php: >=7.1
- container-interop/service-provider: ^0.4
- mouf/classname-mapper: ^1.0.1
- thecodingmachine/common-factories: ^0.4
- thecodingmachine/dbal-universal-module: ^0.4
- thecodingmachine/psr-6-doctrine-bridge-universal-module: ^1.1
- thecodingmachine/stash-universal-module: ^1.1
- thecodingmachine/symfony-console-universal-module: ^0.4
- thecodingmachine/tdbm: ^5
Requires (Dev)
- mnapoli/simplex: ^0.4.1
- phpstan/phpstan: ^0.9
- phpunit/phpunit: ^6.4.3
- satooshi/php-coveralls: ^1.0.1
- squizlabs/php_codesniffer: ^3.2
- thecodingmachine/discovery: ^1.2
- thecodingmachine/phpstan-strict-rules: ^0.9
This package is auto-updated.
Last update: 2025-03-07 00:47:04 UTC
README
TDBM universal module
This package integrates TDBM in any container-interop compatible framework/container.
Tutorial
Looking for a tutorial to get started? Check out the TDBM 5 + container-interop/service-providers install guide.
Installation
composer require thecodingmachine/tdbm-universal-module
Once installed, you need to register the TheCodingMachine\TDBM\DI\TdbmServiceProvider
into your container.
If your container supports thecodingmachine/discovery integration, you have nothing to do. Otherwise, refer to your framework or container's documentation to learn how to register service providers.
Introduction
This service provider is meant to integrate TDBM in your application.
It will register the "tdbm:generate" command in the console (vendor/bin/app_console
) and register all generated DAOs in the container.
Expected values / services
This service provider expects the following configuration / services to be available:
Name | Compulsory | Description |
---|---|---|
tdbm.daoNamespace |
no | The namespace of the DAOs. If not specified, it will be guessed from your composer.json autoload section. |
tdbm.beanNamespace |
no | The namespace of the beans. If not specified, it will be guessed from your composer.json autoload section. |
Doctrine\DBAL\Connection |
yes | The database connection. |
Doctrine\Common\Cache\Cache |
yes | The cache service. |
Symfony\Component\Console\Application |
yes | The console application. |
Provided services
This service provider provides the following services:
One service is created for each of your DAOs. The name of the service is the fully qualified name of your DAOs.
If you have a App\Dao\UserDao
class generated by TDBM, then that class is also available in the container using $container->get("App\Dao\UserDao")
.
Service name | Description |
---|---|
TheCodingMachine\TDBM\TDBMService |
The TDBMService |
TheCodingMachine\TDBM\Configuration |
The TDBM configuration |
TheCodingMachine\TDBM\Utils\NamingStrategyInterface |
The naming strategy for the beans |
TheCodingMachine\TDBM\Services\DaoDumper |
Utility class used to optimize the service provider |
TheCodingMachine\TDBM\Utils\GeneratorListenerInterface[] |
An array of generator listeners (contains the DaoDumper and can be extended by other providers to add more). |
Extended services
This service provider extends those services:
Name | Compulsory | Description |
---|---|---|
Symfony\Component\Console\Application |
yes | A command is added to the service |
Project template courtesy of thecodingmachine/service-provider-template