PHP魔术方法__ISSET、__UNSET使用实例

__isset()    – 在对类中属性或者非类中属性使用isset()方法的时候如果没有或者非公有属性,则自动执行__isset()的方法

__unset()  - 在对类中属性或者非类中属性使用unset()方法的时候如果没有或者非公有属性,则自动执行__unset()的方法

<?php

    /**

     * 针对类中的魔术方法 __isset() 和 __unset() 的例子

     */

class Example {

    public $public;

    protected $protected;

    private $private;

   

    public function __construct(){

        $this->public = 'pub';

        $this->protected = 'pro';

        $this->private = 'pri';

    }

   

    public function __isset($var){

        echo '这里通过__isset()方法查看属性名为 '.$var."\n";

    }

   

    public function __unset($var){

        echo '这里通过__unset()方法要销毁属性名为 '.$var."\n";

    }

}

$exa = new Example;

echo '<pre>';

var_dump(isset($exa->public));

echo "\n";

var_dump(isset($exa->protected));

echo "\n";

var_dump(isset($exa->private));

echo "\n";

var_dump(isset($exa->noVar));

echo "\n";

echo '<hr/>';

unset($exa->public);

var_dump($exa);

echo "\n";

unset($exa->protected);

echo "\n";

unset($exa->private);

echo "\n";

unset($exa->noVar);

echo "\n";

以上是 PHP魔术方法__ISSET、__UNSET使用实例 的全部内容, 来源链接: utcz.com/z/315505.html

回到顶部