<?php class gdTemplateDB {
[...]
function rewrite_dependencies($section, $id) {
global $wpdb, $table_prefix;
/*var_dump($this);
die;*/
**include($this->plugin_path.'code/t2/templates.php');**
[...]
}
?>
저는 GD 별 등급이라는 워드 프레스 플러그인의 코드를 파고 있습니다.
내가 알아낼 수 없습니다이 "마법"가지 이유 :"Magic" "class"
- 분명히 위의 클래스는 어떤 부모가없는,하지만 난 $이 포인터를 위해서 var_dump 때, 그것은라는 다른 클래스의 인스턴스로 밝혀 GDStarRating 및 GDStarRating에도 부모가 없습니다! 그리고 $ this 포인터를 임의적으로 다시 인스턴스화 할 수 없다는 것을 알고 있습니다. 그래서 $ this 포인터가 왜 그렇게 행동하는지 이해할 수 없습니다.
- 기능
rewrite_dependencies
는 gdsrAdmFunc라는 다른 클래스 (gdTemplateDB::rewrite_dependencies
하지$instance->rewrite_dependencies
)에서 호출 정적, 그리고 그 클래스는 GdStarRating 어떤 부모 - 자식 관계가 없습니다. 그러나 그것은 잘 작동합니다.
저에게 "마법"적인 일이 발생할 수있는 이유는 무엇입니까?
가 어떻게 반이 질문에 대답에 대한 대답의 절반 지점을 제공합니까? :) – Ben
어쩌면 나는 충분히 명확하지 않았지만 이것은 두 가지 질문을 설명합니다. $ this 포인터는 마술처럼 클래스에서 상속받지 않습니다.당신은 단지 다른 클래스에서 $ this 포인터가 다른 함수로 출혈하는 것을보고 있습니다. –
아, 촉감. +1 – Ben