创建新的MVC文件无法正常工作

时间:2012-05-16 03:45:40

标签: php mysql cakephp

我有一个由前任员工制作的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'   在这台服务器上找不到。

虽然我已经可以在菜单项中创建一个链接,哦,这似乎无关紧要。我绝望地希望,如果只有可能有人能够揭示这一点,让我感觉好一点。我很感谢你提供的任何帮助。

再次非常感谢您的关注。

图片位于以下链接

http://imgur.com/RyV3A

我目前的问题是服务器无法识别我的控制器功能,我现在应该更改什么?

在这个特殊问题上,我应该错过了为我解决的问题。

1 个答案:

答案 0 :(得分:1)

我的第一个猜测是你的问题是你的本地网络服务器不尊重.htaccess。菜单将您重定向到的路径是'/ anothermenus / anotheraction',但网络服务器报告此路径不存在。应用程序可能已配置为生产用途,而您的本地Web服务器配置不完全相同。

检查其他菜单会发生什么,以及它们链接到的路径是否与您添加的菜单类似。我还要验证CakePHP和Web服务器的日志,以验证哪一个返回错误。如果是Web服务器,则需要检查Web服务器的配置(或.htaccess文件)。如果它是CakePHP,那么你需要继续查看你的代码(并忽略这个答案)