PHP-DI Symfony Bridge
Intégrer les définitions PHP-DI, et les packages l'utilisant dans vos application Symfonys.
Ce package fournit une intégration de PHP-DI avec Symfony. PHP-DI est un gestionnaire de dépendances pour PHP. Le Bridge fonctionne comme un Bundle Symfony pour définir, dans le Symfony Service Container, PHP-DI en tant que Factory pour les entrées dont il est responsable.
Contrairement au bridge officiel, ce bridge ne requière pas de personnalisation de Symfony, de son Kernel, ni du Symfony Service Container. Pendant la compilation du service container, toutes les entrées provenant de PHP-DI vont être référencé dans le container de Symfony.
Ce bridge implémente également la PSR Container interface (PSR-11) pour agir comme interface avec le Symfony Servoce Container vis à vis des définitions dans PHP-DI.
Le bridge va également automatiquement gérer l'accès aux paramètres définies dans PHP-DI depuis le Symfony Container.
Fonctionnalités
Bundle
S'utlise comme tout Symfony Bundle
Facile
Ne requière pas de personnalisation de Symfony
Transparent
Chaque container peut communiquer avec les autres
Universel
Permet l'utilisation de package universel avec votre Symfony
Cloner le projet sur GitHub
Projet sous licence open source! Hébergé, développé et maintenu sur GitHub.
Voir le projet sur GitHub
Supporter le projet sur Patreon
Ce projet est logiciel libre et le restera, mais son développement a un coût. Si vous l'appréciez et si vous souhaitez nous aider à le maintenir et à le faire évoluer. N'hésitez pas à nous supporter sur Patreon.
Supporter le p[rojet
Exemple
<?php
// Add to you `bundles.php` file
return [
//..
Teknoo\DI\SymfonyBridge\DIBridgeBundle::class => ['all' => true],
//..
];
// Create the file `di_bridge.yaml` in your config folder and put in
di_bridge:
definitions:
- 'list of PHP-DI definitions file, you can use Symfony joker like %kernel.project_dir%'
#example
- '%kernel.project_dir%/vendor/editor_name/package_name/src/di.php'
- '%kernel.project_dir%/config/di.php'
import:
#To make alias from SF entries into PHPDI
My\Class\Name: 'symfony.contaner.entry.name'