我有一个由以前的员工制作的 cakephp 应用程序, 它的结构定义如下图所示 我现在被困在如何弄清楚在我被要求添加另一个 Controller 、模型并相应地查看的当前情况下我应该做什么。 在 views 文件夹中,有一些文件夹用于存储与特定 Controller 和模型相匹配的不同 View 。我还创建了一个文件夹并将其命名为 new_foo。
现在你看到 app_controller.php 了吗?该文件包含所有可用于初始化调用任何 Controller 的菜单(导航栏)的信息。
菜单定义为数组,例如
menu=array(
array(
'label' => __("Menu Item", true),
'controller' => 'MenuController',
'action' => 'MenuAction'
),
array(
'label' => __("Another item", true),
'controller' => 'AnotherMenusController',
'action' => 'AnotherAction'
));
我还定义了一个这样的元素,然后为自己创建了一个新的 Controller 类,例如
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 ?");
}
}
但是,当我尝试在我的本地主机上运行该应用程序时,我总是被报告为错误
Not Found Error: The requested address '/anothermenus/anotheraction' was not found on this server.
虽然我已经可以在菜单项中创建一个链接,但是这似乎无关紧要。我非常希望有人能够阐明这一点,让我感觉好一点。感谢您提供的任何帮助。
再次感谢您的关心。
图片在下面的链接中
我目前的问题是服务器无法识别我的 Controller 功能,我现在应该更改什么?
我应该错过注册一些东西,让它在这个特定问题上为我解决。
最佳答案
我的第一个猜测是您的问题是您的本地网络服务器不遵守 .htaccess。菜单将您重定向到的路径是“/anothermenus/anotheraction”,但网络服务器报告该路径不存在。该应用程序可能配置为用于生产,而您的本地网络服务器配置不完全相同。
检查其他菜单会发生什么情况,以及它们链接到的路径是否与您添加的菜单相似。我还将验证 CakePHP 和网络服务器的日志,以验证哪一个正在返回错误。如果是网络服务器,则将检查网络服务器的配置(或 .htaccess 文件)。如果是 CakePHP 的,那么您需要继续查看您的代码(并忽略此答案)
关于php - 创建新的 MVC 文件失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10611722/