我有一个由前任员工制作的cakephp应用程序, 其结构定义为从下图中可以看出 我现在被困在如何弄清楚在我目前的情况下我应该做些什么,在这种情况下我被要求添加另一个控制器,模型和视图。 在views文件夹中,有一些文件夹用于存储与特定控制器和模型匹配的不同视图。我还创建了一个文件夹,并将其命名为new_foo。
现在你看到了app_controller.php?该文件包含可用于初始化调用任何控制器的菜单(导航栏)的所有信息。
菜单定义为数组,例如
menu=array(
array(
'label' => __("Menu Item", true),
'controller' => 'MenuController',
'action' => 'MenuAction'
),
array(
'label' => __("Another item", true),
'controller' => 'AnotherMenusController',
'action' => 'AnotherAction'
));
我还定义了一个这样的元素,然后自己创建了一个新的控制器类,如
AnotherMenusController.php //请注意复数
class AnotherMenusController extends AppController
{
$this->loadModel('AnotherMenu'); // Please note the plural
function AnotherAction()
{
$this->AnotherMenu->modelFunc();
}
}
我还创建了一个与此类似的模型类
class AnotherMenu extends AppModel
{
function modelFunc()
{
print_r("Oh that is it ?");
}
}
但是,当我尝试在我的localhost中运行该应用程序时,我总是报告错误为
未找到错误:请求的地址'/ anothermenus / anotheraction' 在这台服务器上找不到。
虽然我已经可以在菜单项中创建一个链接,哦,这似乎无关紧要。我绝望地希望,如果只有可能有人能够揭示这一点,让我感觉好一点。我很感谢你提供的任何帮助。
再次非常感谢您的关注。
图片位于以下链接
我目前的问题是服务器无法识别我的控制器功能,我现在应该更改什么?
在这个特殊问题上,我应该错过了为我解决的问题。
答案 0 :(得分:1)
我的第一个猜测是你的问题是你的本地网络服务器不尊重.htaccess。菜单将您重定向到的路径是'/ anothermenus / anotheraction',但网络服务器报告此路径不存在。应用程序可能已配置为生产用途,而您的本地Web服务器配置不完全相同。
检查其他菜单会发生什么,以及它们链接到的路径是否与您添加的菜单类似。我还要验证CakePHP和Web服务器的日志,以验证哪一个返回错误。如果是Web服务器,则需要检查Web服务器的配置(或.htaccess文件)。如果它是CakePHP,那么你需要继续查看你的代码(并忽略这个答案)