2014-01-20 4 views
0

저는 cakephp에서 도우미를 만들고 AppController.php 파일에 전역 변수를 정의했습니다.cakephp의 도우미 파일에서 공용 변수를 사용하는 방법

AppController.php

public $testVar = null; 

은 내 도우미 파일에서이 변수를 사용하고 싶습니다. 어떻게 할 수 있니?

+0

Auth 구성 요소에 대해 말하는 것이 아닙니다. – gautamlakum

+1

[여기] (http://stackoverflow.com/questions/6562053/passing-data-from-cakephp-component-to-a-helper)와 같은 질문이 아닙니까? 도우미에서 컨트롤러 – lp1051

답변

0

당신은 도우미에서이 변수를 사용할 수 없습니다하지만 당신은 하나의 AppController에서

  1. 는 세션에 변수를 넣을 수 있습니다 : Session::write('currentUser', $this->currentUser). 그런 다음 SessionHelper를 사용하여 도우미에서 액세스 할 수 있습니다. $this->Session->read('currentUser')

  2. 집합을 사용하여보기에 변수를 전달합니다 : $this->set('currentUser', $this->currentUser). 그런 다음보기에서 변수 $currentUser에 액세스하여 매개 변수로 도우미에게 전달할 수 있습니다. 당신이 필요로 로그인 한 사용자의 ID이고 당신이 인증 구성 요소를 사용하는 경우 여담으로

는 이미 세션에있는 모든 사용자 정보를 찾을 수 있습니다. 도우미에서 다음과 같이 액세스 할 수 있습니다. $this->Session->read('Auth.User.id')

0

추가 변수를 전달할 필요가 없습니다. 직접 정적 AuthComponent 액세스 :

echo AuthComponent::user('username'); 

참고 :.이 또한 알 수없는되어 당신이 여기에 직접 배열을 사용하여 주장해야 할 것이다 (첫번째 존재에 대한 확인으로

+0

PS에서'set()'한 후에'$ this -> _ View-> getVar ('testVar')'를 사용할 수 있습니다 : 입력하기가 너무 힘든 경우, [Auth] (https://github.com/dereuromark/tools/blob/master/Lib/Auth.php)와 같이 sth를 사용하여'Auth :: user()'로 줄일 수 있습니다. – mark

관련 문제