[英]What is the rule(s) to create controllers inside a src/ folder in Zend framework 2?
我已經創建了一個像這樣的模塊:
module/
Album/
config/
src/
Album/
Controller/
IndexController.php
view/
在ZF2的 src / Album / Controller下的模塊內部是否只有一個創建控制器的地方?
我想為src /下的管理任務創建與我的模塊(相冊)相關的控制器
module/Album/src/Admin/Controller/AdminController.php
可能嗎? 如果可能的話,如何從module.config.php添加路由。
請建議我。 提前致謝
命名控制器沒有任何規則,因為您先在module.config.php中定義路由的控制器,然后再在控制器插件管理器中定義路由。
例如,您定義一條路線:
return [
'router' => [
'routes' => [
'Album' => [
'type' => 'Segment',
'options' => [
'route' => 'album',
'defaults' => [
'controller' => 'album'
]
]
]
]
]
];
現在,在module.config.php中的controllers
鍵下定義控制器。
return [
'controllers' => [
'invokables' => [
'album' => 'Album/Controller/AlbumController'
],
'factories' => [
// you do not need this. It is a advanced concept
]
]
];
出於行政目的:
出於管理目的,您可以隨意執行。 我通常要做的是類似Album\\Controller\\Backend\\AlbumController
的確,最常見的做法是將您的控制器放在module/Album/src/Admin/Controller/AdminController.php
。
為了聲明此控制器,最好的做法是使用模塊名稱空間,因此可以在代碼中輕松識別它:
return [
'controllers' => [
'invokables' => [
'Admin/Controller/Admin' => 'Admin/Controller/AdminController',
],
]
];
在您的情況下,AdminController似乎是Admin模塊的默認控制器,所以也許您可以將其重命名為IndexController,因為它是默認控制器的通用名稱:
return [
'controllers' => [
'invokables' => [
'Admin/Controller/Index' => 'Admin/Controller/IndexController',
],
]
];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.