okeyaki/pimple-explicit

This package is abandoned and no longer maintained. No replacement package was suggested.

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 makes it able to define parameters and services explicitly.

Usage

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

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

Default Parameters

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

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

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

Required Parameters

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

Default Services

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

Protected Services

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

Required Services

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