class object
{
public function __construct() {}
public function __set($property, $value)
{
$this->$property = $value;
}
public function __get($property)
{
if (isset($property))
return $this->$property;
}
}
Ben şimdi Mülkiyet Aşırı Yüklerin kavramını olsun. Ama kod çift $ 'ın neden tamamen emin değilim.
Örneğin, bu deyimi: $this->$property = $value;
olağan karşı $this->property = $value;
Benim tahminim iki deyimi farklı nedenidir olmasıdır:
The $this->property = $value
statement is use when the class have explicitly defined property. To clarified, code with a property that is explicitly defined:
class object { private $property; __construct(){} /... setter, getter/ }
$this->$property = $value;
dinamik olarak oluşturulan özelliği için kullanılır nereye kadar. Yani $this->$property
aslında _set
's $ mülkiyet argüman bahsetmektedir. Anlaşılır olması için: _set ($property, $ value)
, the first __set
Yöntemin argümanı (kalın).
Heck, belki kod yerine sadece __set
olarak 1 argümana atıfta ve $this->
sadece sınıfını zorlayan bir $property
adında yeni bir değişken yaratıyor sınıf, yeni bir özelliğe sahip olduğunu kabul etmek ...