php 类中的各种拦截器
来源:互联网 发布:淘宝助理批量修改主图 编辑:程序博客网 时间:2024/05/16 08:20
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 类中的各种拦截器
- PHP的各种拦截器
- PHP中的拦截器设计
- PHP中的拦截器(魔术方法)
- php拦截器方法
- PHP的拦截器
- PHP拦截器
- PHP用set_error_handler()拦截程序中的错误
- struts2中的拦截器
- Mybatis中的拦截器
- Struts2中的拦截器
- struts2中的拦截器
- struts2中的拦截器
- struts2中的拦截器
- struts2中的拦截器
- struts2中的拦截器
- struts2中的拦截器
- struts2中的拦截器
- ucos2 任务
- 从零开始学习jQuery (三)
- DevExpress 第三方控件汉化的全部代码 和使用方法
- MVC是什么,分层是什么概念
- Ubuntu Linux 32bit 4GB 内存 充分利用 解决办法
- php 类中的各种拦截器
- 原子操作基本内容
- Apache-2.2.23 + PHP-5.2.17
- MySQL之Insert
- 【java实例】自己写的mysql数据库管理系统————MANAGER_FOR_MYSQL-1.0
- java宏观知识解惑
- 产品经理的主要职责及必读的九步法
- C、C++异常处理区别;
- 转换资源对象(对于文本)