利用Box(箱子来管理类的创建和方法的调用)-PHP源码
php代码
'value'....)
**/
class Sys_Box{
//声明一个进程内资源对象
public static $_modelObjArr = array();
//获取资源对象 默认$_typeStr = 'class'
public static function invoke($_className,$methodName,$avgArr = array()){
//检测变量是否合法
if(empty($_className) || empty($methodName) || !is_string($_className) || !is_string($methodName)){
echo "Argument is error";exit;
}
//资源已经存在不再创建
if(!isset(self::$_modelObjArr[$_className])){
//都是用本地类
if(!Yaf_Loader::getInstance()->isLocalName($_className)){
self::$_modelObjArr[$_className] = new $_className();
}else{
echo $_className." is not exists";exit;
}
}
//检测$_className是否存在$methodName方法
if(!method_exists(self::$_modelObjArr[$_className],$methodName)){
echo $_className." don't has the method:".$methodName;exit;
}
if(empty($avgArr)){
return self::$_modelObjArr[$_className]->$methodName();
}else{
return self::$_modelObjArr[$_className]->$methodName($avgArr);
}
}
//另外加载数据对象到静态数据组中去
public static function setObjArr($obj){
//检测是否存存在已经创建的好的对象
!isset(self::$_modelObjArr[$obj]) && self::$_modelObjArr[$obj] = $obj;
}
}
/phpyy/44993.htmlwww.phpzy.comtrue/phpyy/44993.htmlTechArticle利用Box(箱子来管理类的创建和方法的调用)-PHP源码 php代码 value....)**/class Sys_Box{//声明一个进程内资源对象public static $_modelObjArr = array();//获取资源对象 默认$_typeStr = classpublic static funct...
PHP之友评论