1
我們可以在另一個模塊內部有多個模塊嗎?Zend Framework上的嵌套模塊2
可能是相似的結構是這樣的:
/module
/Application
/module
/SubApplication1
/SubApplication2
我正在尋找一個簡單的例子或文章的人知道這件事。我已經Google搜索,但似乎到目前爲止沒有探索zf2的這部分。
我們可以在另一個模塊內部有多個模塊嗎?Zend Framework上的嵌套模塊2
可能是相似的結構是這樣的:
/module
/Application
/module
/SubApplication1
/SubApplication2
我正在尋找一個簡單的例子或文章的人知道這件事。我已經Google搜索,但似乎到目前爲止沒有探索zf2的這部分。
這是很容易的模塊中有多個命名空間。您唯一需要做的就是爲Zend自動加載器提供配置。對於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',
);
需要注意的地方!確保您的子模塊名稱空間的名稱不與其他模塊名稱空間衝突。
希望這有助於:)
斯托揚
還有一個模塊中使用多個命名空間的方式,這是非常簡單的。請在[這裏]看看(http://stackoverflow.com/questions/15777140/multiple-namespaces-under-same-module-in-zf2/15779461#15779461),看你能怎麼做。要做你願意做的事情,我認爲你必須用'ModuleManager'做很多工作。 – 2013-04-07 07:39:30