我有一个记录器类(Application\Debug\Logger),用于将整个应用程序中的各种调试消息记录到日志文件中。我想使用简单的别名'logger'来获取该类的实例。所以我尝试配置 Zend\Di\Di,以便我可以在模块控制器或其他应用程序组件中执行类似的操作:
$di = new \Zend\Di\Di();
$logger = $di->get('logger');
//$logger should be Application\Debug\Logger instance...
为了实现这一点,我在 Application/config/module.config.php 中有这个:
'di' => array(
'instance' => array(
'alias' => array(
'logger' => 'Application\Debug\Logger',
),
),
)
但问题是:别名“记录器”不起作用。我可以使用 Di 并通过全名(Application\Debug\Logger)获取类,但不能通过别名(我得到错误:类记录器无法位于提供的定义中)。我想我必须以某种方式将配置传递给 Di,但我不知道如何。你能帮助我吗?