使用 php 定义文件,我创建了这个定义
return [
'auth' => \DI\object('MyProject\Users\Handlers\Permissions')->lazy()
];
但是当我使用 has() 函数来检查定义是否存在时,即
$container->has('auth'); //this returns FALSE
但 get() 函数设法返回对象。
$container->get('auth') //returns the referenced object
编辑:应用程序有点复杂,所以不能把所有代码都放在这里,但它意味着绕过我在以这种方式实现定义时遇到的错误
$containerBuilder->addDefinitions([
'auth' => \DI\object('MyProject\Users\Handlers\Permissions')->lazy()
]);
错误是:
致命错误:未捕获的异常 'InvalidArgumentException' 带有消息 'ContainerBuilder::addDefinitions() 参数必须是字符串或实现 ChainableDefinitionSource,给定数组
感谢您及时的回复。