关 键 词:
成员 方法 对象 访问 class var function object static
* ZxProtectedAccessor
*
* ZxProtectedAccessor 提供了访问对象protected属性的途径。
*
* @copyright Copyright Zhenye Xie 2006. All rights reserved.
* @author Zhenye Xie <xiezhenye@gmail.com>
* @version 0.8
* @package common
*/
class ZxProtectedAccessor {
private static $classes=array();
private static function generateAccessor($class){
$accClass=self::getAccessorClassName($class);
if(!class_exists($accClass)){
$code='class '.$accClass.' extends '.$class.' { ';
$code.='static function &_zx_get_var_($obj,$var){return $obj->$var;}';
$code.='static function _zx_set_var_($obj,$var,$value){$obj->$var=$value;}}';
eval($code);
}
}
function &get($object, $var){
$class=get_class($object);
self::generateAccessor($class);
$ret=call_user_func(array(self::getAccessorClassName($class),
'_zx_get_var_'),$object,$var);
return $ret;
}
function set($object, $var, $value){
$class=get_class($object);
self::generateAccessor($class);
$ret=call_user_func(array(self::getAccessorClassName($class),
'_zx_set_var_'),$object,$var,$value);
return $ret;
}
private static function getAccessorClassName($className){
return '_Zx_Protected_Accessor__'.$className;
}
}欢迎进入PHP开发资源论坛讨论。
相关文章
图文推荐
论 坛 资 源
·php打包工具Phar
·用PHP&ORACLE遇到的问题
·用Mambo做网站小记
·php模板和MVC
·用PHP破解foxmail密码
·linux上装php
·用一行php代码实现字符串的16进制编码解码
·实现php的动态代理
·php程序接口
·PHP单元测试
·用PHP&ORACLE遇到的问题
·用Mambo做网站小记
·php模板和MVC
·用PHP破解foxmail密码
·linux上装php
·用一行php代码实现字符串的16进制编码解码
·实现php的动态代理
·php程序接口
·PHP单元测试
热门技术文档
·php打包工具Phar
·用PHP&ORACLE遇到的问题
·用Mambo做网站小记
·php模板和MVC
·用PHP破解foxmail密码
·linux上装php
·用一行php代码实现字符串的16进制编码解码
·实现php的动态代理
·php程序接口
·PHP单元测试
·用PHP&ORACLE遇到的问题
·用Mambo做网站小记
·php模板和MVC
·用PHP破解foxmail密码
·linux上装php
·用一行php代码实现字符串的16进制编码解码
·实现php的动态代理
·php程序接口
·PHP单元测试
最新图文档
本站编辑推荐:(本站开通Delphi4PHP专区,欢迎进入论坛交流!)
- · 3分钟快速了解 Delphi for PHP 特色 (中文), PDF档
- · 购买Delphi for PHP的五大理由, PDF档
- · Delphi for PHP 使用规格介绍, PDF档
- · Delphi for PHP 問答集 (From CodeGear)
- · Delphi for PHP 产品价格表
编缉最近更新文章
网站赞助商
搜索您感兴趣的内容




