تحقیقات
آموزش متد جادویی unsetــ
- توسط : علی حسین شهابی
- 0 نظر
با سلام و درود
امروز میریم سراغ یکی دیگر از متدهای جادویی (magic method) در آموزش php به نام unsetــ .
متد unset__ زمانی صدا زده می شود که شما قصد استفاده از unset() برای یکی از پروپرتی هایی (property ) که قابل دسترس نیست , داشته باشید.
مثال :
<?php
class Device {
private $name;// the name of the device
public $battery;// holds a Battery object
private $data = array();// stores misc. data in an array
public $connection;// holds some connection resource
public function __set($name, $value) {
// use the property name as the array key
$this->data[$name] = $value;
}
public function __get($name) {
// check if the named key exists in our array
if (array_key_exists($name, $this->data)) {
// then return the value from the array
return $this->data[$name];
}
return null;
}
public function __unset($name) {
// forward the unset() to our array element
unset($this->data[$name]);
echo "
"." Variable is Unset ...";
}
}
$obj = new Device();
$obj->family = 'shahabi';
echo $obj->family;
unset($obj->family);
- در این مثال داخل کلاسمون 3 متد جادویی(magic method) به نام های get , __set__ و unset__ را استفاده کرده ایم.
- در خط 31 یک پروپرتی را مقدار دهی کردیم و چون این پروپرتی (property ) به صورت پیش فرض داخل کلاس موجود نیست پس متدجادویی set__ اجرا می شود .
- در خط 32 پروپرتی (property ) فامیلی را که در خط بالایی ساخته بودیم صدا زدیم و چون این پروپرتی (property ) به صورت پیش فرض وجود نداشت متد جادویی get__ فراخوانی می شود .
- و در اخر در خط 33 یک پروپرتی (property ) که باز به صورت پیش فرض در کلاس وجود ندارد را unset کردیم به همین دلیل متدجادویی unset__ فراخوانی می شود .
این متد جادویی هم به پایان رسید… برای ادامه ی متدها بخش های بعدی را مشاهده نمایید .