$this->context = &$GLOBALS['__Context__'];
$this->context->lang = &$GLOBALS['lang'];

 

Context.class.php 파일의 init() 메서드를 보면 처음에 항상 위와 같이 해당 전역 변수로 멤버 변수를 초기화하던데 뭔지 알고 싶습니다.

 

git을 찾아봐도 제가 못 찾는 건지 해당 라인 커밋 히스토리를 잘 못 찾겠네요. 아신다면 답변 부탁드려요~

  • profile
    함수 안에서 전역변수를 불러올 때 $GLOBALS를 사용합니다.
    함수 밖에서는 그냥 $__Context__, $lang이 되겠지요.

    아주 오래된 모듈이나 스킨 등의 호환성을 위해 만들어 둔 것 같은데,
    이런 전역변수에 직접 접근하는 것은 권장하지 않습니다.
  • profile ?
    기진곰님 감사드립니다. 참조 시 초기화 없이 사용해도 된다는 것을 잊었었네요. ㅠ PHP 자체적인 변수인줄 알고 뻘고민을 했습니다. ㅠ