제목 | ci4에서 view 에서 컨트롤러 선언된 값 가져 오는 방법은 없나요? | ||
---|---|---|---|
카테고리 | CI 4 관련 | ||
글쓴이 | 데칼코마니 | 작성시각 | 2022/07/11 16:24:57 |
|
|||
ci3 로 만든 프로그램을 ci4 로 적용 해 볼려고 하는데 에러가 나네요 view('페이지명' ,$data) 방식으로 필요한 값을 넘겨서 사용 하는게 아니라 아래와 같이 사용 할 수 있는 방법은 없는건가요? 1. 베이스 컨트롤러 class BaseController extends Controller { public $testData; public function testdata1234() { $this->testData = '12345'; } } 2. 컨트롤러 입니다. <?php class Common extends BaseController { public function pageDetail() { parent::testdata1234(); //베이스컨트롤러에 메소스 호출 echo $this->testData; // 정상적으로 12345 값이 나타 남 echo view('view페이지명'); // view('페이지명' ,$data) 이 방식이 아닌 다른 방식은 없는지 } } 3. View 페이지에서 <php echo $this->testData; ?> 오류가 발생 합니다. Undefined property: CodeIgniter\View\View::$testData 이런식으로 오류가 나타 납니다. ci3 에서는 해당 값을 가져 와서 사용 했는데 ci4 에서는 오류가 발생 합니다 위와 같은 방식으로 데이터를 view에서 가져 올 수 있는 방법이 없나요??
이렇게 사용 할려는 이유가 페이지 로딩시 각 페이지에 맞는 권한이 있어서 권한을 view에서 받아서 json 형태로 받아서 클라인언트에서 불러다 사용 하고 있습니다. |
|||
다음글 | 프로파일러 질문이요 ==> 다시 봐주세요ㅜㅜ (2) | ||
이전글 | ci4에서 인쇄버튼기능 (2) | ||
테러보이
/
2022/07/11 17:11:49 /
추천
0
|
데칼코마니
/
2022/07/11 17:22:39 /
추천
0
테러보이님 // 답변 감사 합니다. 오타가 있었네요 $testData 가 맞습니다. ci4 에서는 기본적으로 다 view('페이지명', $data); 이 방법이 아니면 view에서 직접 컨트롤러에 있는 값을 불러다 사용 할 방법은 없는건가요? ci3 에서는 사용이 되었었는데 ci4에서는 안되어서요... |
테러보이
/
2022/07/12 09:08:26 /
추천
0
제가 알기로는 안되는것으로 알고 있습니다. 혹시 방법을 아시게 되면 알려주세요 ㅎㅎ |
데칼코마니
/
2022/07/12 10:11:28 /
추천
0
테러보이 // 답변 감사 합니다. 저도 계속 하다 보니 안되어서 ^^ |
베이스 컨트롤러의
public testData
를
public $testData;
로 바꾸세요.
그리고 view('page', ['testData'=>$testData]); 해주셔야합니다.
http://ci4doc.cikorea.net/general/common_functions.html?highlight=view#view