簡體   English   中英

在Zend Framework 2的src /文件夾內創建控制器的規則是什么?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM