Hey, millet. Ben bu sorunu google'da bir şey bulamadı, ve ben SO önce bazı sorulara gerçekten iyi cevaplar buldum, bu yüzden topluluğuna katılmak için bu bahane götürüyorum.
Ben üzerinde çalışıyorum bir PHP projesi için sınıfların bir hiyerarşi oluşturma yaşıyorum ve ben açıkça başlatma kodu yazmadan yapıcı işlevinin içinde başlatılan sınıflarında bazı değişkenleri olmasını istiyorum. Özellikle ben tercüman bazı değişkenler aslında belli bir sınıf için işaretçileri olduğunu varsaymak istiyorum. Ben C yapılar gibi bir şey olsaydı, ben ne istediğinizi oldukça yakın olacaktır.
Şimdiye kadar, ben ile geldi tek şey açıkça kendi adının içindeki değişken tipini ve her gibi üzerinde sınıf çağrıyı bir başlatma fonksiyonu sahip olmaktır;
class A{
...
}
class B{
var $x_A;
function initVar($var){
list($varname, $vartype) = split('_',$var);
$this->$var = new $vartype();
}
}
Ve B'nin yapıcı çağrıları initVar onun get_class_vars(get_class($this)), tüm, böylece ondan devralan şey aynı şekilde başlatma yapacak; Açıkçası değişken adı üzerinde bir kontrol, sınıf mevcut çek ve tek bir çizgi daha iyi bir ayırma düzeni dahil. Ben sadece yardım değil inşaat işlevi başlatma hardcoding değil bunu yapmak için daha iyi bir yol olduğunu düşünüyorum olamaz.
Herkes bunu yapmak için daha iyi bir yol bilen varsa, lütfen yardım çok takdir.