网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

php类成员函数二次定义,动态定义类成员函数

这是一个很怪异的想法:class类定义之后,甚至编译载入内存之后,还有没有办法增加其成员函数,改写其已有成员函数逻辑!意义不是特别大,只是觉得很有意思, php太神奇了!!!

单县网站建设公司创新互联,单县网站设计制作,有大型网站制作公司丰富经验。已为单县成百上千家提供企业网站建设服务。企业网站搭建\成都外贸网站建设公司要多少钱,请找那个售后服务好的单县做网站的公司定做!

【应用场景】
1) 动态载入类成员函数体(一些常住内存框架,修改的代码需要重载服务,可以动态多次载入扩展函数文件)
2) 团队开发写同一个类文件的避免冲突,自己单独可以一个扩展文件;
3) 一个类的代码太多太多,将一些成员函数分解到多个文件中实现;
4) php类运行中按需加载成员函数体内容;

【实现原理】
用类的静态变量来保存扩展的函数,用__call魔术方法来实现扩展函数的真实调用;

【例子】

getC();
    return $n+$a+$b;

});

//////////////调用代码///////////
$user=new user();
$num=$user->add(1,2);
//8+1+2=11
var_dump($num);

/////////运行中再次定义/////////////////
user::ext('add',function($pthis,$a,$b){
    $n=$pthis->getC();
    return $n*$a*$b;
});

$num=$user->add(1,2);
//8*1*2=16
var_dump($num);

当前文章:php类成员函数二次定义,动态定义类成员函数
链接URL:http://bjjierui.cn/article/gjjosg.html

其他资讯