作者:卖火柴的kula1988zkef | 来源:互联网 | 2018-03-23 03:21
[PHP]代码
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();
?>