我在想练习PHP
程序员文章站
2024-01-16 09:52:52
...
[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验证码出现这样的问题:Image corrupt or truncated
-
如何编译PHP源代码介绍ZendEncode的安装方法我今天刚调试成功,不敢独享,拿来献宝_PHP教程
-
问:我安装ECMall后报PHP Strict Standards错误,请问如何解决
-
求一套韩顺平php基础教程,助小弟我学成php
-
我想用php读取xml的三个值
-
我要用php做个东西,作为毕业设计,大家有没有什么可推荐的。
-
小弟我想在linux上练习php程序,环境配置,用哪个操作系统好尼
-
php 我用fwrite() 写入了一个文件,怎么文件内容全变了?
-
分享:小弟我的php框架再次更新,山寨版thinkphp,开发效率再次大幅提升