致命错误:找不到类'PagesController'

时间:2013-03-16 19:28:56

标签: cakephp import controller fatal-error

我使用蛋糕一段时间了,现在我有一个稍微修改过的页面控制器,我想在我的default.ctp中使用它,我用

导入它
App::uses('PagesController', 'Controller');

App::import('Controller', 'Pages');

都在我的localhost xampp上工作,在openshift web服务器上都没有。 无论我做什么,我得到了致命的错误,没有找到课程。谷歌搜索这个问题2个小时,感觉就像我在这里撞墙。请帮助:)

2 个答案:

答案 0 :(得分:0)

我会尽量避免这些调用并使用CakePHP约定。本地XAMPP副本和OpenShift副本之间的区别可能是由于运行了不同版本的CakePHP,但是如果遵循惯例则无关紧要。

最佳做法是使用PagesController将所有内容放入foler app / View / Pages中。这样,CakePHP处理所有导入,需求,路由等。除此之外,请记住OpenShift中的应用程序路径是/ php / app /(与XAMPP / app /相对)。我想如果你有自定义控制器可能会导致问题。希望这有帮助!

编辑:我刚刚意识到default.ctp,你的意思是布局文件。我个人不喜欢在布局中调用控制器。我更喜欢使用元素或帮助器。此外,PagesController实际上并不意味着包含在站点范围的布局中。它只适用于/ app / View / Pages文件夹中的文件。

答案 1 :(得分:0)

好吧,我使用了requestAction,这很有效。 :) 要解决类似问题,请使用说$ pages = $ this-> requestAction('pages /');

然后'foreach'$ pages数组,只要你需要。 重要!在你的控制器创建页面的函数中(在这种情况下,控制器pagesController和函数'index')不要忘记返回你编写的$ pages对象,而不是像通常那样“设置”它。 :)