solutiondrive / behat-symfony-dependency-injection-container-extension

允许为behat加载额外的依赖注入配置文件

v0.1.0 2018-03-06 16:22 UTC

This package is auto-updated.

Last update: 2024-09-19 19:50:44 UTC


README

用于加载额外依赖注入配置文件的behat扩展

FriendsOfBehat/ServiceContainerExtension 启发

用法

  1. 安装它

    $ composer require solutiondrive/behat-symfony-dependency-injection-container-extension --dev
  2. 启用此扩展并配置Behat以使用它

    # behat.yml
    default:
        # ...
        extensions:
            solutionDrive\BehatSymfonyDependencyInjectionContainerExtension:
                identifiers:
                    solutionDrive:
                        imports:
                            - "config/solutionDrive/services.xml"
                            - "config/solutionDrive/services.yml"
                            - "config/solutionDrive/services.php"
  3. 编写服务文件定义

    <!-- config/solutionDrive/services.xml -->
    <?xml version="1.0" encoding="UTF-8" ?>
    <container xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="https://symfony.ac.cn/schema/dic/services">
        <services>
            <service id="acme.my_service" class="Acme\MyService" />
        </services>
    </container>
    # config/solutionDrive/services.yml
    services:
        acme.my_service:
            class: Acme\MyService
    // config/solutionDrive/services.php
    use Symfony\Component\DependencyInjection\Definition;
    
    $container->setDefinition('acme.my_service', new Definition(\Acme\MyService::class));