TIP게시판

제목 Controller를 통한 전역변수 사용
글쓴이 한대승(불의회상) 작성시각 2013/10/17 13:54:12
댓글 : 3 추천 : 0 스크랩 : 1 조회수 : 25208   RSS
한대승(불의회상)
제목에 전역변수라고 쓰긴 했지만 해당 Controller에서만 전역변수처럼 작동 합니다.
음.. 이건 상속도 아니고 뭐라 불러야 할까요?
클래스맵 그리기 참 예매한 CI네요....

아무튼 호출된 컨트롤러 한정 전역변수 입니다.


controllers/vr_test.php
class Vr_test extends CI_Controller {
 public $sid;
    
 public function index()
 {
   $this->sid = 12345;
   $this->load->model('vrt_model');
   echo '<br>';
   $this->load->view('vrt_view');
 }
}
models/vrt_model.php
class Vrt_model extends CI_Model {
 public function __construct()
 {
   parent::__construct();
   echo $this->sid;
 }
}
views/vrt_view.php
<?php echo $this->sid;?>

결과
12345
12345

 다음글 sqlsrv_forge.php의 _alter_table... (2)
 이전글 액티브레코드에서 where_in() 버그 (1)

댓글

들국화 / 2013/10/17 14:06:26 / 추천 0
좋네요. 개발한 사람이 아닌 다른 사람이 보고 디버깅 하다가는 머리 쥐좀 나겠네요. ^^
변종원(웅파) / 2013/10/17 17:16:40 / 추천 0
public $sid 선언해야 그렇게 된다는 이야기인가요?

ci의 제어권(?)이 컨트롤러, 모델, 뷰이기 때문에 $this->sid 가 그냥 사용될건데요?
$this객체...
한대승(불의회상) / 2013/10/18 09:16:55 / 추천 0
웅파/ 넵... public으로 선언 해야 합니다..
protect나 private로 해봤는데 접근이 안되더군요.
싱글톤 패턴이 적용되어 있어서 그런것 같기는한데....