Eğer bir sınıf tanımlamak, ve daha sonra bu sınıfın bir nesne örneğini eğer PHP, daha sonra keyfi olarak bu sınıfa yeni üyeler eklemek mümkün. Örneğin:
class foo {
public $bar = 5;
}
$A = new foo;
$A->temp = 10;
Ancak, imkansız yeni üyelere bu şekilde eklemek yapmak için yeteneği istiyorum. Temelde ben sınıf SADECE tanımında belirtilen üye olmasını istiyorsanız; Eğer herhangi bir diğer üyeleri ayarlamaya çalışırsanız, o hataları ölümcül. Burada niyet Ben özelliklerinin çok özel bir set gibi bir sınıf tanımlamak, ve sınıf içeriği iyi tanımlanmış ve her üyesinin değerleri (daha sonra değiştiremezsiniz, böylece sadece bu özellikleri, sınıfın var emin olmak istiyoruz ki ) üyeleri kendilerini değiştirmek, ama olamaz.
Ben Sesimin her define olabilir, ancak ben (__ set yöntemi ile yapabilirsiniz gerçekleştirmek, ve zaten var olmayan bir üyesini belirlemek için çalışırsanız, sadece o ölümcül hata var, ama bu her sınıf tanımı eklemek zorunda sinir bozucu sınıflar bu yöntemle bir temel sınıf genişletmek için, ama bu) aynı zamanda sinir bozucu. Örneğin:
class foo {
public $bar = 5;
private function __set($var, $val) {
trigger_error("Cannot dynamically add members to a class", E_USER_ERROR);
}
}
Bunu yapmak için başka bir (tercihen daha uygun) bir yolu var mı? Kenara bu davranışı engellemek için PHP'nin kendisi değiştirerek mi?