묻고답하기
&getController 와 getController 의 차이
2014.02.03 06:02
$oModuleController = &getController('module');
이것처럼
~~~ = &get~~~~('~~~');
이런형태를 유지하는 모듈의 코드들에서 일전에 XE커밋상에서
&을 다 제거했던 적이 있었습니다.
https://github.com/xpressengine/xe-core/commit/194ce8614a2e05bd23f6fc41b5a46b0d2e3e1671
여기에서 보면 &붙은 코드중에서 그냥 다 삭제 해버리고 나왔던적 있는데..
저는 아무리 봐도 붙은 것과 빠진 것의 차이점이 어떤건지 알지를 못해서..궁금해서 질문글을 남겨봅니다.
댓글 4
-
sejin7940
2014.02.03 06:22
-
BJ람보
2014.02.03 06:37
흠.. 그럼 코어측에서는 참조하지 않고 바로 불러와들이는것이 더 빠르다고 느껴서 이렇게 바꾼건가요?
이 글내용에서는 참조하는 편이 더 효율적으로 받아들인다는 뜻같아보이는데.. 실질적으로 앞으로 참조하지 않고 그냥 불러오겟다라고 xe코어측에서는 소스가 바뀌어 버렸으니.../좀 어렵네여 ㅠㅠ../
-
銀童
2014.02.03 08:57
참조 자체에 대해서는 설명을 이미 드린거같고,
PHP 버전이 올라가면서 객체를 리턴할경우에는 굳이 참조를 붙이지 않아도,
자동으로 참조로 처리됩니다.
getModel, getController 등의 클래스를 불러오는 함수는,
해당 객체를 리턴하기때문에 자동으로 참조 처리가 되니 &가 필요가 없는거지요.
물론 아직도 변수를 리턴할 경우에는 &가 필요합니다.
-
BJ람보
2014.02.03 09:42
제 가려운곳을 긁어주셧네요. 감사합니다.
http://www.xeschool.com/xe/xenote_2_04