CI 묻고 답하기

제목 ci 컨트롤러 전역 변수 질문이 있습니다.
카테고리 CI 4 관련
글쓴이 kasumil 작성시각 2022/04/18 17:33:57
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 5381   RSS

선배님들 안녕하세요.

스택오버 플로우에서 검색하면서 적용하다가 안되길래 왔습니다.

 

현 상황은 특정 컨트롤러에서 메소드간 변수 공유때문에 문제가 발생하였습니다.

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

한대승(불의회상) // 답변 감사합니다.

그냥 세션으로 공유하는 수 밖에 없는거군요. 늦게 답변해서 죄송하구요.

답변 감사합니다.