mojtaba.baghban
جمعه 18 اسفند 1391, 02:56 صبح
تو کلاس activerecord توابع getattribute و setattribute طوری تعریف شدن که با استفاده از آن میتوان به تمام خاصیتهای خصوصی این کلاس ومشتقاتش براحتی دسترسی داشت.
تو این دو تا کلاس به تابع property_exists توجه کنید که از ورژن ۵.۳ به بعد واسه خاصیتهای خصوصی هم true برمیگردونه.
public function getAttribute($name)
{
if(property_exists($this,$name))
return $this->$name;
elseif(isset($this->_attributes[$name]))
return $this->_attributes[$name];
}
public function setAttribute($name,$value)
{
if(property_exists($this,$name))
$this->$name=$value;
elseif(isset($this->getMetaData()->columns[$name]))
$this->_attributes[$name]=$value;
else
return false;
return true;
}
تو این دو تا کلاس به تابع property_exists توجه کنید که از ورژن ۵.۳ به بعد واسه خاصیتهای خصوصی هم true برمیگردونه.
public function getAttribute($name)
{
if(property_exists($this,$name))
return $this->$name;
elseif(isset($this->_attributes[$name]))
return $this->_attributes[$name];
}
public function setAttribute($name,$value)
{
if(property_exists($this,$name))
$this->$name=$value;
elseif(isset($this->getMetaData()->columns[$name]))
$this->_attributes[$name]=$value;
else
return false;
return true;
}