| 제목 | ci 컨트롤러 전역 변수 질문이 있습니다. | ||
|---|---|---|---|
| 카테고리 | CI 4 관련 | ||
| 글쓴이 | kasumil | 작성시각 | 2022/04/18 17:33:57 |
|
|
|||
|
선배님들 안녕하세요. 스택오버 플로우에서 검색하면서 적용하다가 안되길래 왔습니다.
현 상황은 특정 컨트롤러에서 메소드간 변수 공유때문에 문제가 발생하였습니다.
class 컨트롤러 extends BaseController {
vars check1;
constructor {
}
function method1 {
$this->check1 = result-인자;'
return result;
}
function method2 {
if($this->check == $_POST['비교할 값']) {
return true;
} else {
return false;
}
}
function method3 {
if(empty(check) && method2() == true) {
.....
}
}
}
대충 위의 로직인데, 메소드1이 먼저 호출되고, 해당 전역 변수에 동적값을 할당하고, 반환된 method1의 값을 화면에 뿌리고, 이를 다른 곳에 호출하기 전 다시 method1값으로 메소드2를 호출 하는데, 해당 1의 값과 동일한지 여부를 인자값을 비교하는 로직이 있습니다. 그리고 그 해당 값이 메소드3를 호출하는 조건이 되게 하구요. method2에서 null이 찍히는데 method1에서 해당 함수를 return 해줘야할까요? 다른 값을 리턴하는데, 그전에 할당시키려고 합니다. |
|||
| 다음글 | ci4 select간 궁금증이 있어서 질문 드립니다. (3) | ||
| 이전글 | CodeIgniter 4 세션 문제 (2) | ||
|
한대승(불의회상)
/
2022/04/19 14:05:39 /
추천
1
컨트롤러 메소드간 전역변수는 세션을 사용하여 공유하세요.
|
|
kasumil
/
2022/04/21 13:38:40 /
추천
0
한대승(불의회상) // 답변 감사합니다. 그냥 세션으로 공유하는 수 밖에 없는거군요. 늦게 답변해서 죄송하구요. 답변 감사합니다. |