okeyaki / pimple-explicit

此包已被 废弃 并不再维护。未建议替代包。

1.0.0 2017-09-26 16:09 UTC

This package is not auto-updated.

Last update: 2020-01-24 17:27:47 UTC


README

Pimple Explicit 允许您显式地定义参数和服务。

使用方法

class Container extends \Pimple\Container
{
    use \Okeyaki\Pimple\ExplicitTrait;
}

$container = new Container();
$container->parameter('id')
    ->as('a');

默认参数

$container->parameter('id')
    ->as('a');

$container->parameter('id')
    ->default('b');

$container['id']; // Returns 'a'.

必需参数

$container->parameter('id')
    ->required();

默认服务

$container->service('id')
    ->default(function () {
        return new \stdClass();
    });

受保护服务

$container->service('id')
    ->protected()
    ->default(function () {
        return new \stdClass();
    });

必需服务

$container->service('id')
    ->required();