필자는 처음으로 PHP에서 몇 가지 코드를 작성하려고 시도하면서 지난 몇 주 동안 어두운면을 보인 Java 개발자입니다.
대부분의 것들은 익숙한 것처럼 보이고, 메소드는 기능이됩니다. -> 변수는 앞에 $가 있고 어떤 타입인지 전혀 알지 못한다. 그러나 나는 $ this 키워드로 완전히 곤란하다.
$ this가 java this.myCoolMethod()에서와 같이 현재 클래스의 함수를 호출 할 것으로 예상하지만, 자주가는 오픈 소스 프로젝트를 훑어 보면 $ this-> myCoolMethod()가 완전히 다른 클래스의 기능!
여기 무슨 일입니까? '$ this'는 실제로 무엇을 의미합니까?
도움 주셔서 감사합니다.
요한은
* (참조) * [PHP 클래스와 객체 - 기본 사항] (http://de2.php.net/manual/en/language.oop5.basic.php) – Gordon
'$ this'는 같은 클래스 인스턴스를 참조합니다 , 같은 클래스가 아닙니다. – Gumbo
모두들 저는 자바 세계로부터 상속 받지만 자바 토큰에서는 수퍼 클래스 인스턴스 또는 부모 클래스를 참조하기 위해 super 키워드를 사용합니다. this 키워드는 현재 클래스 인스턴스에만 속하는 메소드를 참조하기 위해 사용합니다 따라서 그 클래스의 부모 멤버는 혼란을 겪습니다. 건배! –