2011-12-16 9 views
5

私は、セッションに格納されているユーザIDに基づいてユーザデータを分離することができます。 CakePHPの1.3では、あなたはこれを行うことができます:cakephp 2での動作の中でセッション変数を読む

App::import('Component', 'Session'); 
$session = new SessionComponent(); 
$session->read('Auth.User.id'); 

をしかし、コンポーネント__constructをパラメータとしてコントローラのComponentCollectionを必要とするためにCakePHP 2に、あなたは行動のようなコンポーネントをインスタンス化することはできません。

CakePHP 2の動作の中でセッション変数にアクセスできますか?それを行う最善の方法は何ですか?

答えて

23

SessionComponentコードを見ると、それはCakeSessionクラスのラッパーにすぎないことがわかります。

だからあなたは、次の操作を行うことができます。

あなたは、単に静的CakeSessionを経由してセッションのメソッドを呼び出すことができます::メソッド() をロードせずにCakePHP 2.0で
App::uses('CakeSession', 'Model/Datasource'); 
$user_id = CakeSession::read('Auth.User.id'); 
+1

私はこの最後の夜を投稿したときにはっきりと考えていなかった。 –

3

...。 - )

+3

あなたのクラスはまだ 'App :: uses( 'CakeSession'、 'Model/Datasource');'ステートメントを持っていなければなりません! ;) – mark

関連する問題