아래의 코드와, 좋아, 그래서 :PHP OOP - 잘못된 변수가 반환 되었습니까?
class Core {
public $child;
public function start() {
$child = Loader::instance('Child');
print_r($this);
}
}
class Loader extends Core {
public static $instances;
public static function instance($class) {
if(!isset(self::$instances[$class])) {
self::$instances[$class] = new $class();
}
return self::$instances[$class];
}
}
class Child extends Core {
public function __construct() {
parent::__construct();
$this->child = 'test';
}
}
Loader::instance('Core')->start();
내가 (이 $)를에서 print_r 후 수 있어야합니다 확인합니다 :
Core Object
(
[child] => test
)
대신
Core Object
(
[child] =>
)
무엇 인 지금 일어나고있는거야?
다시 한 번 감사드립니다 ..
그러나 아이가 code'class 아이가 코어를 {확장 변수가 아닌 객체 '아이'.. –
'의 인스턴스가 될 필요가 : 여기
코드입니다 공용 함수 __construct() { parent :: __ construct(); $ this-> variable = 'test'; } } –@ 가브리엘 답변을 업데이트했습니다 ('-> 자식'추가). 지금 당신에게 효과가 있습니까? – Tadeck