0

尝试在 Zend Framework 应用程序中使用模块化布局时出现以下错误:

未定义索引:第 385 行 C:\PHP\includes\Zend\Controller\Dispatcher\Standard.php 中的身份验证

以下代码在此错误之前运行:

if (!$this->_acl->isAllowed($role, $resource, $privilege)) {
    $request->setModuleName('authentication');
    $request->setControllerName('auth');
    $request->setActionName('login');
    $request->setDispatched(false);
}

在我的引导程序中,我有:

$frontController
    ->setParam('environment', $this->environment)
    ->setControllerDirectory(ROOT_DIR . '/controllers')
    ->addModuleDirectory(ROOT_DIR . '/modules');

我的目录结构是:

/ application
    / controllers
    / models
    / views
    / library
    / modules
        / Authentication
            / controllers
                AuthController.php

任何想法为什么这不起作用?

4

2 回答 2

1

区分大小写?我在文档中没有找到任何特别提到区分大小写的内容,但是所有带有模块的示例也显示模块目录名称都是小写的。

我自己最近的 ZF 应用程序使用模块,并且目录名称都是小写的。

另外,您的路由定义中是否设置了默认模块?

于 2009-04-28T17:51:56.457 回答
0

出于好奇,为什么要为身份验证设置整个模块(而不是仅在默认模块中执行此操作)?

于 2009-04-29T01:05:13.937 回答