分享一个在tp5的基础上写的一个PHP特征

浏览:798 发布日期:2016/05/17 分类:ThinkPHP5专区
直接上代码<?php
namespace app\common\main;
/**
 * 这是一个特征库 
 * 定义了get调度方法
 * 和set设置未定义属性方法用于全局调度 common的资源
 * 
 * 
 */
trait Dispatch {
    
    /**
     * 魔术方法用于设置未定义的属性
     * 
     */
    function __get($name) {
        $namearr=explode("_",$name);
        
        $namearr[0]=mb_strtolower($namearr[0]);
        
        if($namearr[0]=="handle"){
            $names="\\app\\common\\handle\\".$namearr[1];
            $this->$name=new $names;
            
        }elseif($namearr[0]=="sql"){
            return \think\Db::name($namearr[1])->alias(mb_strtolower($namearr[1]));
        }elseif($namearr[0]=="model"){
            $names="\\app\\common\\model\\".$namearr[1]."Model";
            
            $this->$name=new $names;
            
        }elseif($namearr[0]=="merge"){
            $names="\\app\\common\\merge\\".$namearr[1]."Merge";
            
            $this->$name=new $names;
            
        }
        return $this->$name;
    }

    //__set()方法用来设置私有属性
    function __set($property_name, $value) {
        $this->$property_name = $value;
    }

}
至于特征怎么继承 百度吧
最佳答案
评论( 相关
后面还有条评论,点击查看>>