我找到了指导here如何从Zend Acl开始,通过最佳答案的步骤,但我已经陷入了这个操作:
最后一步是加载configAcl.php并注册AuthPlugin 在bootstrap文件中(可能是index.php)。
当我开始申请时,它会告诉我
致命错误:第28行的C:\ Program Files(x86)\ Apache Software Foundation \ Apache2.2 \ htdocs \ myproject \ public \ index.php中找不到类'AuthPlugin'
但我已将此插件放在applications / plugins文件夹中。我是Zend Framework的新手并使用v.1.12(因为我没有找到如何在新版本中创建项目:bin文件夹中的命令行应用程序丢失了。)
也许我必须编辑我的Bootstrap.php文件,但我不知道如何。我发现的每个指令都适用于另一个版本的框架,因为它们的public / index.php中的代码与我的非常不同。
答案 0 :(得分:0)
所以坐了一个小时后我终于找到了怎么做。老实说,如果只有我的firefox没有显示错误,我的应用程序页面重定向递归,我会更快地找到我的问题的答案。 firefox重启后问题消失了。那就是答案: 在您的引导程序中使用以下代码。
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
protected function _initAutoload() {
require_once '../application/plugins/AuthPlugin.php';
require_once '../application/configs/configAcl.php';
}
protected function _initControllerPlugins()
{
$frontController = Zend_Controller_Front::getInstance();
$frontController->registerPlugin(new AuthPlugin());
}
}
希望像我一样在Zend Framework中为这些新手提供帮助。
答案 1 :(得分:0)
我知道这是一个非常古老的问题,但我留下了我发现的答案,万一有人偶然发现这个问题。
虽然您发布的答案有效,但我通过application.ini找到了另一个答案。 ZF遵循命名标准:Plugin_ViewSetup解析为Plugin / ViewSetup.php。对于插件,ZF会自动查看“库的路径”,这意味着它可以查看库的目录(Zend库所在的目录)。所以插件应该如下:library / Plugin / ViewSetup.php ...那是一个场景。然后,您在application.ini中所要做的就是添加以下内容:
autoloaderNamespaces[] = "Plugin_"
resources.frontController.plugins.ViewSetup = "Plugin_ViewSetup"
翻译成您的案例将是:
autoloaderNamespaces[] = "Plugins_"
resources.frontController.plugins.AuthPlugin = "Plugins_AuthPlugin"
你的图书馆结构应该是:
library/Plugins/AuthPlugin.php
希望这对任何在这里磕磕绊绊的人都有帮助!
答案 2 :(得分:0)
Require_once不适用于我的项目..包含插件的任何其他方式