آموزش متد جادویی unsetــ

  • خانه
  • آموزش متد جادویی unsetــ
Image تحقیقات

آموزش متد جادویی unsetــ

با سلام و درود

امروز میریم سراغ  یکی دیگر از متدهای جادویی (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__ فراخوانی می شود .

این متد جادویی هم به پایان رسید… برای ادامه ی متدها بخش های بعدی را مشاهده نمایید .