PHP 魔术方法:__isset和__unset
程序员文章站
2022-04-21 14:40:11
...
从php5以后的版本,类就可以使用魔术方法了。php规定以两个下划线(__)开头的方法都保留为魔术方法,所以建议大家函数名最好不用__开 头,除非是为了重载已有的魔术方法。
目前php已有的魔术方法有 __construct,__destruct,__call,__get,__set,__isset,__unset,__sleep,__wakeup,__toString,__set_state 和 __clone。
本文慢慢长寻夜,明月高空挂
__isset() - 在对类中属性或者非类中属性使用isset()方法的时候如果没有或者非公有属性,则自动执行__isset()的方法
__unset() - 在对类中属性或者非类中属性使用unset()方法的时候如果没有或者非公有属性,则自动执行__unset()的方法
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 ''; 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 '
'; unset($exa->public); var_dump($exa); echo "\n"; unset($exa->protected); echo "\n"; unset($exa->private); echo "\n"; unset($exa->noVar); echo "\n";结果如下:
bool(true) 这里通过__isset()方法查看属性名为 protected bool(false) 这里通过__isset()方法查看属性名为 private bool(false) 这里通过__isset()方法查看属性名为 noVar bool(false) ------------------------------------------------------------------------------ object(Example)#1 (2) { ["protected:protected"]=> string(3) "pro" ["private:private"]=> string(3) "pri" } 这里通过__unset()方法要销毁属性名为 protected 这里通过__unset()方法要销毁属性名为 private 这里通过__unset()方法要销毁属性名为 noVar
以上就介绍了PHP 魔术方法:__isset和__unset,包括了PHP 魔术方法方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
上一篇: php服务器脚本由哪个分隔符包围
下一篇: 在editplus中怎么格式化代码
推荐阅读
-
Codeigniter中集成smarty和adodb的方法,codeignitersmarty_PHP教程
-
Mysql和网页显示乱码解决方法集锦_php技巧
-
PHP用身份证号获取星座和生肖的方法
-
PHP 出现乱码和Sessions验证问题的解决方法!_PHP
-
php使用gzip压缩传输js和css文件的方法
-
第六节--访问属性和方法 -- Classes and Objects in PHP5 [6_PHP
-
ThinkPHP函数详解之M方法和R方法_php实例
-
php缩放gif和png图透明背景变成黑色的解决方法,缩放png
-
PHP永久登录、记住我功能实现方法和安全做法_PHP
-
关于PHP递归算法和应用方法介绍_PHP