frostealth/php-container

简单的依赖注入容器

2.0.0 2015-11-09 08:31 UTC

This package is not auto-updated.

Last update: 2024-09-14 15:52:50 UTC


README

简单的依赖注入容器。

安装

运行Composer命令以安装最新稳定版本

composer require frostealth/php-container @stable

使用

use frostealth\Container\Container;

$container = new Container();

// ...

// injecting simple values
$container->set('foo', 'bar'); // or $container->foo = 'bar';

// get its value
$value = $container->get('foo');  // or $value = $container->foo;

// ...

// resources 
$container->set('object', function ($container) {
    return new MyObject($container->foo);
});

// get a new instance
$object = $container->get('object');

// ...

// singleton resources
$container->singleton('log', function ($container) {
    return new MyLog($container->object);
});

// get log resource
$log = $container->get('log');

依赖注入

use Interop\Container\ContainerInterface;

class MyClass
{
    /**
     * @var ContainerInterface
     */
    protected $container;

    /**
     * @param ContainerInterface $container
     */
    public function __construct(ContainerInterface $container)
    {
        $this->container = $container;
    }
}

许可证

MIT许可证(MIT)。更多信息请参阅LICENSE.md