<?php
error_reporting(E_ALL);
ini_set('display_errors', true);
class Person {
private $data;
public function __construct($data) {
$this->data = $data;
}
public function __get($prop) {
return $this->data[$prop];
}
}
$data = array('name' => 'Mark');
$person = new Person($data);
echo $person->get('name');
?>
이 기능을 사용하지 않아야합니까?왜 내 게터가 작동하지 않습니까?
나는 Fatal error: Call to undefined method Person::get()
을 얻지 만, 나는 이유를 모른다. 마술 메서드에 대한 설명서에 따라,이 코드는 잘 작동합니다.
http://php.net/manual/en/language.oop5.overloading.php#object.get
더 라인 없다 $ person-> get()이 __get() 메서드를 호출하는 설명서에 있습니다. 또한 get()을 호출하면 "마법 메서드"정의가 무의미 해집니다. –