1

Cakephp で Cookie ヘルパーを使用しており、Cookie 変数の値にアクセスするために次のコードを使用しています。

$this->Cookie->write('testvar','testvalue');

この Cookie 変数 vid の値を取得しようとすると、ヘルパー クラスを作成しました。

$this->Cookie->read('testvar');

エラーが発生します(非オブジェクトでメンバー関数 read() を呼び出します)。ヘルパーで Cookie 変数にアクセスできる他の方法はありますか? $_Cookie (サーバー変数) を試すことはできますが。

4

2 に答える 2

3

ヘルパーは次のようになります。

<?php
App::uses('AppHelper', 'View/Helper');
App::uses('CakeSession', 'Model/Datasource');
class MyCookieHelper extends AppHelper 
{
         public function writeCookie($name, $value = null) 
         {
               return CakeSession::write($name, $value);
         }
         public function readCookie($name)
         {
               return CakeSession::read($name);
         }
}

次のようにビューで使用できます。

$this->MyCookie->readCookie($cookie_var_name);

MyCookieコントローラーにヘルパーを含めることを忘れないでください。

public $components = array('MyCookie');
于 2012-07-26T07:08:38.643 に答える
-1

次の手順に従う必要があります。

コントローラークラスでは、この行を配置する必要があります。または、複数のコントローラーでこれを使用する必要がある場合は、APP コントローラーに配置できます。

public $components = array('Cookie');

アクション/機能では、これを使用できます:

$this->Cookie->write('User.name', 'Larry');
echo $this->Cookie->read('User.name');
于 2012-07-26T06:47:05.230 に答える