为什么我不能从扩展AppController的类中访问CakeRequest对象?

时间:2012-07-01 19:42:44

标签: php cakephp

为什么cakePHP抱怨$ request未定义?我正在按照教程说明他们已经在他们的网站上创建了一个博客(框架的hello工作),我一直在修复我在教程代码中遇到的各种错误(我认为教程有点偏僻)约会)但这是我无法理解的。查看api文档,它说Controller有一个$ request属性。我的PostsController扩展了扩展Controller的AppController,所以它会有$ requests属性,但它没有,甚至不是print_r。

这是我的代码(直接来自教程):

class PostsController extends AppController {
    public $helpers = array('Html', 'Form', 'Session');
    public $components = array('Session');
    ...

    public function add() {
        if ($this->request->is('post')) {
            ...
        }
    }
}

这是错误页面:

Notice (8): Undefined property: PostsController::$request [APP/controllers/posts_controller.php, line 16]
Code

public function add() {
if ($this->request->is('post')) {

PostsController::add() - APP/controllers/posts_controller.php, line 16
Object::dispatchMethod() - CORE/cake/libs/object.php, line 116
Dispatcher::_invoke() - CORE/cake/dispatcher.php, line 227
Dispatcher::dispatch() - CORE/cake/dispatcher.php, line 194
[main] - APP/webroot/index.php, line 88
Fatal error: Call to a member function is() on a non-object in shared/THS/test/www/MyCake/app/controllers/posts_controller.php on line 16

感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:1)

根据你在错误中看到的文件路径,你没有安装Cake 2.x,但可能是Cake 1.3。

如果您关注的教程提到了CakeRequest类,那么您正在关注Cake 2.x教程......