mascherucci/pimpyaml-container

此包已被弃用且不再维护。未建议替代包。

一个简单的从yaml文件配置的Pimple容器,采用symfony风格语法

1.1.3 2016-10-03 16:21 UTC

This package is not auto-updated.

Last update: 2022-05-14 06:26:57 UTC


README

Pimpyaml是一个简单的Pimple容器配置包。它实现了ContainerInterface,因此您可以轻松地与其他容器进行切换

#安装 composer require mascherucci/pimpyaml-container

使用方法

您显然可以用正常的方式定义服务,或者您可以使用yaml config.yml 文件以symfony类似的语法进行定义

定义服务

加载配置文件

  $conf_file = __DIR__.'/config.yml';
  $config = \SwissArmy\ConfigHandler::loadConf($conf_file);
  $container = new \SwissArmy\SimpleContainer($config);

ConfigHandler 支持多个 imports -> resource,如果您想将配置的域分离,如下所示

imports:
    - resource: dependency.yml
    - resource: routes.yml
customvalues:
    custom1: 1    

服务

services:
    zone:
        class: \DateTimeZone
        arguments: ['America/Adak']
    time:
        class: \DateTime
        arguments: ['2016-01-01','@zone']
    time2
        class: \DateTime
        calls:
            - [setTimezone , ['@zone']]
    dummy
        class: \yourclass
        arguments: ['@container']
    dummy2
        class: \yourclass
        arguments: ['%custom1%']        

目前只支持markdown的@object@container(这是一个特殊词,用于传递容器),%yourvariable%