merak dizi özelliklerine sahip (Sadece karşısında amacını almaya çalışırken, kod beklendiği gibi çalışmaz biliyorum) Aşağıdaki:__set/__ olsun o böyle bir şey yapmak mümkün olup olmadığını
class Form
{
private $v = array();
function __set($varName, $varValue)
{
... do some treatment on the varValue ...
$this->v[$varName] = $varValue;
}
function &__get($varName)
{
if(!isset($this->v[$varName]))
$this->v[$varName] = NULL;
return $this->v[$varName];
}
};
istediğim için gibi bir değişken ayarlamak mümkün:
$form->Values['whatever'] = 'dirty';
ve bazı temizlik işlemleri arayıp aslında 'HtmlValues' ve 'SqlValues' ben gibi birkaç diğer diziler doldurarak sona ereceğini ayarlayıcı işlevi aracılığıyla çalıştırmak zorunda sadece kodlanmış değerleri alabilir İstediğim biçimi, bu yüzden daha sonra sorun sadece kullanırsanız _ olsun elbette normaldir konudur
echo $form->HtmlValues['whatever'];
çağırabilir, sen geri verdikten bir değeri ayarlayarak sona alabilir ve hatta olsa & _get, referansı ve iş türüne göre döndürür, özel bir üye oluşturmanıza rağmen, __set asla aranmaz. Ne $form->Values['group']['item'] = 'whatever';
İstenen çıkış gibi bir şey olurdu gibi değil potansiyel olarak birden fazla diziler derin ve bir dizi (içinde ayarlayın her bir değerin üzerinde bir işlevi çağırmak için bir yol varsa Yani temelde
, merak ediyorum :$form->Values['name'] = "&";
echo $form->HtmlValues['name']; = &
Başar, götürdü doğru yolda :) – John