1、__get( $property ) 访问未定义的属性时调用

class lanjie
{function __get($name){echo $name." property not found! ";}
}$ob = new lanjie();
echo $ob->g;

当我们调用对象$ob未定义的属性g时,调用拦截器__get()方法,输出“g property not found!”;

2、__set( $property , $value ) 给未定义的属性调用时赋值

class person
{private $_age;private $_name;function __set($name, $value){$method = "set".  ucfirst($name);echo $method;if(method_exists($this, $method) ){return $this->$method( $value );}}function setName( $name ){$this->_name = $name;if( !is_null($this->_name) ){$this->_name = strtoupper($this->_name);}}function setAge( $age ){return $this->_age = (int)$age;}
}$p = new person();
$p->name = 'bob';
print_r( array( $p ) );

这里我们可以很清楚的看到 , 当给未定义的‘name’赋值时 ,  会调用“__set()”

其他的还有 __call(), __isset() , __unset();

这里最有用和最常用的的是__call() , 当调用一个为存在的方法时被调用; __isset()是在对一个为定义的属性使用isset()函数时被调用, __unset是在对未定义的数以使用unset时被调用

转自:http://blog.csdn.net/shuiping567541/article/details/7061258

php 类中的各种拦截器相关推荐

  1. php拦截器配置,php 类中的各种拦截器

    1.__get($property)访问未定义的属性时调用  classlanjie{PHP 1.__get( $property ) 访问未定义的属性时调用 class lanjie { funct ...

  2. spring拦截器覆盖_Spring中使用Interceptor拦截器

    SpringMVC 中的Interceptor 拦截器也是相当重要和相当有用的,它的主要作用是拦截用户的请求并进行相应的处理.比如通过它来进行权限验证,或者是来判断用户是否登陆,或者是像12306 那 ...

  3. SpringMVC中使用Interceptor拦截器

    2019独角兽企业重金招聘Python工程师标准>>> SpringMVC 中的Interceptor 拦截器也是相当重要和相当有用的,它的主要作用是拦截用户的请求并进行相应的处理. ...

  4. 使用struts2中默认的拦截器以及自定义拦截器

    转自:http://blog.sina.com.cn/s/blog_82f01d350101echs.html 如何使用struts2拦截器,或者自定义拦截器.特别注意,在使用拦截器的时候,在Acti ...

  5. SpringBoot中文件下载、拦截器、war包部署、jar包部署

    3. SpringBoot中文件下载 将可以被下载资源放在磁盘的 D:\springbootcodes\springboot_day6\download 路径 这里我们使用jsp开发 引入依赖使tom ...

  6. springboot中配置了拦截器后,拦截器无效的解决方案之一

    springboot中配置了拦截器后,拦截器无效的解决方案之一 参考文章: (1)springboot中配置了拦截器后,拦截器无效的解决方案之一 (2)https://www.cnblogs.com/ ...

  7. vue项目中 axios请求拦截器与取消pending请求功能 - 年少、 - 博客园

    在开发vue项目中,请求是不可缺少的,在发送请求时常常需要统一处理一些请求头参数等设置与响应事件,这时利用请求拦截器再好不过. 这里以axios请求为例 实现了设置统一请求头添加token, 其中to ...

  8. 微软将在新版Edge浏览器中支持广告拦截器

    3月31日消息,据路透社报道,微软周四表示,公司正在考虑让下一版本的Edge浏览器实现通过第三方拓展件支持广告过滤功能. 科技网站ZDNet今天早些时候根据一张拍摄自微软开发者大会的产品蓝图指出,该公 ...

  9. springboot 添加拦截器之后中文乱码_springboot中配置了拦截器后,拦截器无效的解决方案之一...

    springboot的启动类xxxApplication不能扫描到拦截器配置类,可加上@ComponentScan(basePackages={"com.maya.common"} ...

最新文章

  1. 编程自动化,未来机器人将超越人类?
  2. 安全无忧,函数计算推出访问用户VPC功能,实现自定义的多类VPC网络资源互通...
  3. 如何使用JCA (J2EE 连接器架构)实现企业应用--转载
  4. 用python语言调试程序你用的平台是_Python 程序如何高效地调试?
  5. 项目Alpha冲刺(团队)-代码规范、冲刺任务与计划
  6. win8f8修复计算机,Win8怎么在启动时按F8出现修复计算机选项
  7. 从0到1构建支撑企业自动化运维体系
  8. python列表内置函数_Python-列表总结(操作符、方法、内置函数、相关模块)
  9. 模拟地铁乘车推荐c语言,模拟地铁新手攻略 新手必看三要素
  10. linux常用命令速查手册
  11. 阿里专家:怎么样消除程序员的中年危机?
  12. javaweb开发后端常用技术_java后端开发需要掌握什么技术
  13. php通用查询系统excel,php+excel通用课表查询系统
  14. [Matlab有限元分析] 1.有限元分析的发展、基本概念和特点
  15. RFID全面梳理(超高频)
  16. 使用matlab的appdesigner绘制Steward并联机构
  17. nodejs中使用nodemon加载文件报错
  18. postman替换快捷键ctrl加什么_你会用 Ctrl + ~ 键吗?
  19. DfE给学生提供的笔记本电脑感染了恶意软件
  20. 激励人生10张英文励志海报

热门文章

  1. mysql 生成json,结合CONCAT()和COALESCE()在MySQL中生成JSON
  2. 一起来了解React的四种优秀甘特图方案(下篇)
  3. 机器学习中的算法(4.2):SVM----针对线性可分问题理解
  4. 直方图(opencv)
  5. 【深度学习】(4) 梯度下降、损失函数
  6. ubunntu安装php7.0_在 Ubuntu/Debian 下安装 PHP7.3 教程
  7. 在CentOS 6.9 x86_64搭建Lua开发环境
  8. Ubuntu 12.04 64bit上安装Apache Traffic Server 4.1.2
  9. UE5真实环境设计入门学习教程
  10. c语言中volatile关键字的作用