2010-07-01 4 views
0

PHP (공개, 비공개, 보호)에서 가시성 문제를 연구해 왔으며 이러한 "dom-building"이 PHP에서 어떻게 구현되는지 궁금합니다. PHP가 모든 클래스를 거치고 이들 사이의 관계를 설정하는 데 사용하는 일종의 알고리즘이 있어야 함을 의미합니다. 그것이 "dom-building"이라고 불려지는지 확실하지 않지만, 자동 완성을 위해 사용할 수있는 최신 IDE에 의해 동일한 알고리즘이 사용된다고 생각합니다.PHP의 내부 깊이

누군가 나를 멋진 리소스로 리디렉션 할 수 있습니까? 감사합니다.

+0

내가 좋아하는 IDE가 [Reflection] (http://de2.php.net/manual/en/book.reflection.php) 코드 지원을 사용하고 있음을 확신합니다. – Gordon

+0

정말 C++ 태그가 여기에 적합합니까? 그렇지 않은 경우 제거하십시오. – pmr

+0

글쎄, PHP는 C++로 작성되었고 질문은 PHP의 구현에 관한 것입니다. 나는 그것이 적절하다고 생각합니다. – Dziamid

답변

1

PHP는 모든 클래스를 통과하지 못하고 클래스 간의 관계를 설정하지 않습니다. 런타임에만 다른 클래스의 메소드를 호출하면 PHP는 해당 메소드에 액세스 할 수 있는지 (예 : public 또는 경우에 따라 protected) 확인합니다.

+0

간단합니까? 승인. 하지만 PHP는 액세스 가능성을 "확인"하기 전에 코드를 구문 분석해야합니다. 그래서, 내가 보는 방식 : 파싱은 DOM 객체의 일종을 가져와야합니다 ..? 아니면 이것이 작동하는 방식이 아닙니까? – Dziamid

+1

구문 분석 결과 * 구문 분석 트리 * 또는 * 구문 트리 *. 이 트리는 * opcode *로 컴파일됩니다. 이 opcode는 PHP 용 어셈블리와 같습니다. PHP 인터프리터는 이러한 opcode를 실행합니다. – Sjoerd

+0

나를 설명하는 리소스로 이동시킬 수 있습니까? – Dziamid