teknoo/bridge-phpdi-symfony

PHP-DI 与 Symfony 的用户友好集成,源自 php-di/symfony-bridge

6.0.6 2024-05-31 14:30 UTC

README

Latest Stable Version Latest Unstable Version Total Downloads License PHPStan

此包提供 PHP-DI 与 Symfony 的集成。 PHP-DI 是 PHP 的依赖注入容器。此桥接器作为 Symfony Bundle,将 PHP-DI 集成到 Symfony 容器中,作为 PHP-DI 中定义条目的工厂。与官方桥接器不同,此桥接器不需要使用自定义版本的 Symfony Kernel 或自定义版本的 Symfony 容器。在 Symfony 容器编译期间,PHP-DI 中的所有条目都将引用到 Symfony 容器中。桥接器还将实现 PSR 容器接口 (PSR-11),作为 PHP-DI 工厂与 Symfony 容器的接口。它们将直接调用 Symfony 容器而不是 PHP-DI,桥接器还将自动管理由 Symfony 管理的参数。
的参数。

安装此桥接器

如果您使用的是 PHP-DI Bridge 的先前版本,请删除 PHP-DI Kernel 覆盖并使用默认内核

  • 添加到您的 bundles.php 文件

      Teknoo\DI\SymfonyBridge\DIBridgeBundle::class => ['all' => true],
    
  • 在您的配置文件夹中创建 di_bridge.yaml 文件,并放入

      di_bridge:
        #To enable PHP-DI's container compilation (disable by default)
        compilation_path: ~ #Default, or path to store cache, like '%kernel.project_dir%/var/cache/phpdi'
        #To enable PHP-DI's cache (disable by default)
        enable_cache: false #Default or true
        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'
    

支持此项目

此项目是免费的,并将保持免费。它完全由 EIRL 的活动支持。如果您喜欢它并帮助我维护和改进它,请毫不犹豫地在 PatreonGithub 上支持我。

谢谢 :) Richard。

鸣谢

EIRL Richard Déloge - https://deloge.io - 主开发人员。SASU Teknoo Software - https://teknoo.software

关于 Teknoo Software

Teknoo Software 是一家 PHP 软件编辑公司,由 Richard Déloge 创立,作为 EIRL Richard Déloge 的一部分。Teknoo Software 的目标:向我们的合作伙伴和社区提供一套高质量的服务或软件,分享知识和技能。

许可

此库采用 MIT 许可证授权 - 有关详细信息,请参阅许可证文件夹。

安装 & 要求

要使用 composer 安装此库,请运行此命令

composer require teknoo/bridge-phpdi-symfony

此库需要

* PHP 8.1+
* A PHP autoloader (Composer is recommended)
* PHP-DI.
* Symfony/dependency-injection 5.4 or 6.2+.
* Symfony/http-kernel 5.4 or 6.2+.
* Symfony/config 6.3, 6.4 or 7+.

贡献 :)

欢迎您为此项目做出贡献。 在 Github 上克隆它