[面向对象] 魔术方法 __set, __get, __unset, __isset

php中文网
发布: 2016-07-29 08:33:15
原创
1133人浏览过

__set, __get,__isset, __unset 是面向对象里用来友操作的魔术方法.  先看看使用方法

echo $类->属性;  //取不存在属性或私有保护属性时,  以下方法被调用

public __get($属性名) {
  echo $属性名;
}
登录后复制

$类->属性 = 值  //对不存在属性或私有保护属性时, 以下方法被调用

public __set($属性名, $值) {
  echo $属性名, $值;
}
登录后复制

if (isset($类->属性)) { echo "属性不存在或无权"; }  //判断不存在或私有保护属性时, 以下方法被调用

public __isset($属性名) {
  echo "你在判断".$属性名."是否存在";
  return true; //我可以强行告诉你, 属性是存在的
}
登录后复制

unset($类->属性);   //删除不存在属性或私有保护属性时, 以下方法被调用

public __unset($属性名) {
  echo "你想删除".$属性名."是一个不存在或无权的属性";
}
登录后复制

这几个魔法方法都有一个共性, 就是"属性"不存在或私有保护的属性   才调用魔法方法.

值得注意的是, if (isset($类->$属性名)) { ... }   __isset是可以有返回值的, 你可以强行返回true或false

刚看完燕十八的教程,  自己做个笔记.  也希望能帮到你

以上就介绍了 [面向对象] 魔术方法 __set, __get, __unset, __isset,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号