【发布时间】:2017-06-21 10:07:05
【问题描述】:
我正在为 ZF2 (https://github.com/ZF-Commons/ZfcAdmin/) 使用 ZfcAdmin 模块,但我无法使用自己的控制器。
根据模块文档 (https://github.com/ZF-Commons/ZfcAdmin/blob/master/docs/2.Routes.md),我应该能够在我的新模块路由配置中简单地从文档中添加这个 sn-p 后使用我自己的控制器,但是它只会导致重定向到主页,因为它没有找不到路线。所以我添加了这部分:
'controllers' => array(
'invokables' => array(
'Admin\Controller\Admin' => 'Admin\Controller\AdminController',
),
),
这会导致错误:
异常:Zend\Mvc\Controller\ControllerManager::createFromInvokable:通过可调用类“Admin\Controller\AdminController”检索“admincontrolleradmin(别名:Admin/Controller/Admin)”失败;类在 /var/www/app/vendor/zendframework/zend-servicemanager/src/AbstractPluginManager.php:240 中不存在
Module.php
<?php
namespace Admin;
class Module
{
public function getConfig()
{
return include __DIR__ . '/config/module.config.php';
}
public function getAutoloaderConfig()
{
return array(
'Zend\Loader\StandardAutoloader' => array(
'namespaces' => array(
__NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
),
)
);
}
}
module.config.php
<?php
return array(
'controllers' => array(
'invokables' => array(
'Admin\Controller\Admin' => 'Admin\Controller\AdminController',
),
),
'router' => array(
'routes' => array(
'zfcadmin' => array(
'options' => array(
'defaults' => array(
'controller' => 'Admin/Controller/Admin',
'action' => 'test',
),
),
),
),
),
);
模块/Admin/src/Admin/AdminController.php
<?php
namespace Admin\Controller;
use Zend\Mvc\Controller\AbstractActionController;
class AdminController extends AbstractActionController
{
public function testAction()
{
echo('test');
die();
}
}
我 99% 确定这是我的错,而不是 zfcadmin 本身。尽管如此,我不知道在创建自己的控制器时我在哪里犯了错误,但找不到。
【问题讨论】:
标签: php zend-framework2