我们可以在另一个模块中有多个模块吗?
可能是类似如下的结构:
/module
/Application
/module
/SubApplication1
/SubApplication2我正在寻找一个简单的例子或一篇文章,有人知道这一点。我已经在谷歌上搜索过了,但似乎到目前为止zf2的这一部分还没有被探索过。
发布于 2013-04-07 16:50:34
在模块中有多个名称空间是很容易的。您唯一需要做的就是向Zend Autoloader(s)提供配置。对于Zend\Loader\StandardAutoloader,可以在模块中设置配置,如下所示:
public function getAutoloaderConfig()
{
return array(
'Zend\Loader\ClassMapAutoloader' => array(
__DIR__ . '/autoload_classmap.php',
),
'Zend\Loader\StandardAutoloader' => array(
'namespaces' => array(
// This is the default namespace most probably the module dir name
__NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
// And this is for your custom namespace within the module
'SomeNamespace' => __DIR__ . '/src/' . 'SomeNamespace',
'OtherNamespace' => __DIR__ . '/src/' . 'OtherNamespace',
),
),
);
}对于Zend\Loader\ClassMapAutoloader来说,这是相同的概念。您只需要将名称空间与类文件相匹配:
// file: ~/autoload_classmap.php
return array(
'SomeNamespace\Controller\SomeController' => __DIR__ . '/src/SomeNamespace/Controller/SomeController.php',
'OtherNamespace\Controller\OtherController' => __DIR__ . '/src/OtherNamespace/Controller/OtherController.php',
);需要注意的是!确保您的子模块名称空间的名称不会与其他模块名称空间冲突。
希望这能有所帮助:)
Stoyan
https://stackoverflow.com/questions/15858675
复制相似问题