hixman / psr-container

psr-11 容器实现

dev-master / 1.0.x-dev 2017-07-27 07:30 UTC

This package is not auto-updated.

Last update: 2024-09-23 12:45:49 UTC


README

Latest Version on Packagist Software License Build Status Total Downloads

这里应该放置您的描述。尽量限制在一两段之内,并提及您支持的PSR,以避免用户和贡献者产生混淆。

安装

通过 Composer

$ composer require hixman/psr-container

使用方法

基本用法

$container =  new Container();
$container->set(UserRepository::class, function(){
    return new UserRepository();
});
$userRepositoryExits = $container->has(UserRepository::class;
$userRepository = $container->get(UserRepository::class);

委托仓库

仅委托容器查找。

$container =  new Container();
$delegatedContainer = new Container();
$container->setDelegatedContainer($delegatedContainer);
$container->set(UserRepository::class, function(){
    return new UserRepository();
});
$userRepositoryExits = $container->has(UserRepository::class; // False
$userRepository = $container->get(UserRepository::class); // Throws NotFoundException

委托容器及其自身查找

$container =  new Container();
$delegatedContainer = new Container();
$container->setDelegatedContainer($delegatedContainer, DelegableInterface::NOT_ONLY_DELEGATED);
$container->set(UserRepository::class, function(){
    return new UserRepository();
});
$userRepositoryExits = $container->has(UserRepository::class; // True
$userRepository = $container->get(UserRepository::class); // A new instance of UserRepository

变更日志

有关最近更改的更多信息,请参阅变更日志

测试

$ composer test

贡献

请参阅贡献指南行为准则以获取详细信息。

安全性

如果您发现任何与安全性相关的问题,请通过电子邮件hixman88@gmail.com联系,而不是使用问题跟踪器。

致谢

许可证

MIT 许可证(MIT)。有关更多信息,请参阅许可证文件