ppokatilo/services-loader

简化服务的加载。

v1.1.5 2016-01-10 20:38 UTC

This package is not auto-updated.

Last update: 2024-09-24 04:17:45 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License

简化在您的Symfony2组件扩展中加载服务。

如何使用

使用ServiceLoader从目录中的文件(递归,如果需要)加载服务定义。

<?php

namespace You\YourBundle\DependencyInjection;

use SHyx0rmZ\ServicesLoader\ServicesLoader;

class YourExtension extends Extension
{
  public function load(array $config, ContainerBuilder $container)
  {
    $loader = new ServiceLoader($container);
    $loader->loadFromFile(__DIR__ . '/../Resources/config/services.ini');
    $loader->loadFromDirectory(__DIR__ . '/../Resources/config/services.d');
  }
}

使用扩展来进一步简化加载过程。

<?php

namespace You\YourBundle\DependencyInjection;

use SHyx0rmZ\ServicesLoader\Extension\ServicesLoaderExtension;

class YourExtension extends ServicesLoaderExtension
{
}

这将从以下位置加载服务定义:

  • 您的Bundle/Resources/config/services.ini
  • 您的Bundle/Resources/config/services.php
  • 您的Bundle/Resources/config/services.xml
  • 您的Bundle/Resources/config/services.yml
  • 以及services.d中的所有内容
    • 您的Bundle/Resources/config/services.d/commands.yml
    • 您的Bundle/Resources/config/services.d/database/clients.yml