我在想练习PHP
程序员文章站
2024-01-05 09:35:10
...
[PHP]代码
<?php class prototype { function __get($key){ $this->property__=array_merge(self::$__property,$this->property__); return $this->property__[$key]; //实例动态添加 } function __set($key,$value){ //实例获取 $this->property__=array_merge(self::$__property,$this->property__); $this->property__[$key]=$value; return $this; } public static function __callstatic($methodname,$arg){ $method=self::$__property[$methodname]; $method(); } public function __call($methodname,$arg){ $method=$this->property__[$methodname]; $method($arg); return $this; } public static function _set($key,$value){ return self::$__property[$key]=$value; } public function set_($key,$value){ $this->property__=array_merge(self::$__property,$this->property__);// $this->property__[$key]=$value; return $this; } public static function _get($key){ return self::$__property[$key]; } public static $__property=array(); public $property__=array(); } class user extends prototype{ public $_queue=array(); function _before($functionname,$beforefunction,$beforeaction=null,$action=null){ if(!empty($beforeaction)){ $this->$beforefunction=$beforeaction; } if(!empty($action)){ $this->$functionname=$action; } $pos=array_search($functionname,$this->_queue); if(!($pos===false)){ array_splice($this->_queue,$pos,0,$beforefunction); }else{ array_unshift($this->_queue,$beforefunction,$functionname); } return $this; } function _after($functionname,$afterfunction,$afteraction=null,$action=null){ if(!empty($afteraction)){ $this->$afterfunction=$afteraction; } if(!empty($action)){ $this->$functionname=$action; } $pos=array_search($functionname,$this->_queue); if(!($pos===false)){ array_splice($this->_queue,$pos+1,0,$afterfunction); }else{ array_push($this->_queue,$functionname,$afterfunction); } return $this; } function queue(){ $queue=$this->_queue; foreach( $queue as $work){ $this->$work(); } } } $a=new user(); $a->_after("turnon","input",function(){echo "输入用户名,";},function(){echo "开机,O(∩_∩)O哈哈~" ;}); $a->_after("input","inputpassword",function(){echo "输入密码,";}); $a->_after("inputpassword","click",function(){echo "点击登录按钮";}); $a->_before("click","verif",function(){echo "输入验证码,";}); $a->queue(); ?>
推荐阅读
-
我在想练习PHP
-
PHP中GD库的官方站文档中有显示ImageGifAnimBegin这个函数,为什么小弟我用在PHP中会提示undefined function
-
php的大哥大姐们,帮小弟我解决一个有关问题一下
-
php或者js怎么通过一个网址把该网址的图片显示到小弟我的页面下
-
我要直接读取请求的信息头,我要怎么做?_PHP教程
-
优秀的PHP前端工程师 无需精通 但需熟悉,这个各位怎么看待,我现在很盲目
-
请教小弟我写的这个php函数体传递变量的时候为什么总是上一个函数体的值
-
我遇到一个奇怪的问题,php代码里面凡是含有//这样的注释,include 失败
-
webservice-我在用php写web service时,调试总是出现问题
-
php代码字符串跟变量组合规范,帮小弟我看看