0

$request が定義されていないと CakePHP が不平を言うのはなぜですか? 私は彼らがブログを作成する方法(フレームワークのハローワーク)のサイトにあるチュートリアルに従っていて、チュートリアルコードで遭遇したさまざまなエラーを修正していました(チュートリアルが少しずれていることがわかりました日付の)しかし、ここに私が理解できなかったものがあります. API ドキュメントを見ると、コントローラーには $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

ご協力いただきありがとうございます。

4

1 に答える 1

1

表示されるエラーに表示されるファイル パスによると、Cake 2.x はインストールされていませんが、おそらく Cake 1.3 がインストールされています。

フォローしているチュートリアルで CakeRequest クラスについて言及している場合は、Cake 2.x チュートリアルに従っています...

于 2012-07-01T21:38:46.263 に答える