thecodingmachine/tdbm-universal-module

This package is not installable via Composer 1.x, please make sure you upgrade to Composer 2+. Read more about our Composer 1.x deprecation policy.

Cross-framework module for thecodingmachine/tdbm

This package is auto-updated.

Last update: 2021-10-06 17:27:41 UTC


README

Latest Stable Version Latest Unstable Version License Build Status Coverage Status

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