xtreamwayz / pimple-container-interop
此软件包已 废弃,不再维护。未建议替代软件包。
此项目为 Pimple 3 添加了 container-interop 兼容性。
资助软件包维护!
www.paypal.me/xtreamwayz
1.0.0
2015-12-16 17:30 UTC
Requires
- container-interop/container-interop: ^1.0
- pimple/pimple: ^3.0
Requires (Dev)
- phpunit/phpunit: ^5.0
- squizlabs/php_codesniffer: ^2.3
This package is auto-updated.
Last update: 2024-06-19 11:07:05 UTC
README
非常感谢您对这个项目的兴趣!开源是有回报的,但也可能令人疲惫。因此,此代码按现状提供,目前没有积极维护。我们邀请您查看代码,并在您的下一个项目中使用它,前提是您遵守所附许可协议!
不对代码的支持提供保证,也不承诺将审查或合并拉取请求。它是开源的,所以允许分支;只需确保给予应有的信用即可!
此容器扩展了 Pimple 3 容器。它还添加了来自 container-interop 的 代理查找功能。
使用方法
use Xtreamwayz\Pimple\Container; $container = new Container();
现在您可以使用所有 Pimple 功能,并且还有 container-interop 的 has
和 get
函数。
代理
代理查找功能允许几个容器共享条目。它可以在其他容器中执行依赖项查找。可以通过 delegate($container)
函数添加。
$container = new Xtreamwayz\Pimple\Container; $container['hi'] = 'welcome'; $delegate1 = new Acme\Container\DelegateContainer; $delegate1['foo'] = 'bar'; $container->delegate($delegate1); $delegate2 = new Xtreamwayz\Pimple\Container; $delegate2['baz'] = 'qux'; $container->delegate($delegate2); // Resolve dependency from main $container $container->has('hi'); // true $container->get('hi'); // returns 'welcome'; // Resolve dependency from $delegate1 $container->has('foo'); // true $container->get('foo'); // returns 'bar'; // Resolve dependency from $delegate2 $container->has('baz'); // true $container->get('baz'); // returns 'qux';
一旦注册了代理并且主要容器中无法解析查找,它将按注册顺序尝试每个代理的 has
和 get
方法。