| 제목 | 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
                             한대승(불의회상) // 답변 감사합니다. 그냥 세션으로 공유하는 수 밖에 없는거군요. 늦게 답변해서 죄송하구요. 답변 감사합니다. |