gpt4 book ai didi

namespaces - ZF2 ZendSkeleton 为什么在默认路由中使用 '__NAMESPACE__' key ?

转载 作者:行者123 更新时间:2023-12-04 16:57:54 25 4
gpt4 key购买 nike

在 ZF2 框架中,路由器配置使用一个键:

'__NAMESPACE__' 

准确地说:
'__NAMESPACE__' => 'Application\Controller',

引用:
https://github.com/zendframework/ZendSkeletonApplication/blob/master/module/Application/config/module.config.php#l32

我们尝试在我们的模块路由器配置中不加引号地使用:
__NAMESPACE__ => 'Application\Controller',

但它似乎破坏了配置。

为什么我们使用引用而不是
 __NAMESPACE__

获得它的值(value)?

最佳答案

因为默认情况下,配置文件没有声明命名空间。配置解析器可以读取字符串

'__NAMESPACE__'



并正确确定命名空间。

如果你想不带引号使用它,你可以在你的配置文件中声明:
namespace Application;

并使用 __NAMESPACE__没有报价。

这就是为什么您有时会在 Doctrine 配置示例的教程中看到,例如:
    'doctrine'        => array(
'driver' => array(
'application_entity' => array(
'class' => 'Doctrine\ORM\Mapping\Driver\AnnotationDriver',
'paths' => __DIR__ . '/../src/' . __NAMESPACE__ . '/Entity',
),
'orm_default' => array(
'drivers' => array(
__NAMESPACE__ . '\Entity' => 'application_entity',
)
)
)
),

关于namespaces - ZF2 ZendSkeleton 为什么在默认路由中使用 '__NAMESPACE__' key ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23513884/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com