1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 这段代码看不懂 哪位高手能解释一下哈 100分

这段代码看不懂 哪位高手能解释一下哈 100分

时间:2018-10-18 16:31:16

相关推荐

这段代码看不懂 哪位高手能解释一下哈 100分

后端开发|php教程

nbsp,model,name,cache,class

后端开发-php教程

这段代码看不懂,谁能解释一下哈 100分

bs 人事系统源码,复制一行快捷键vscode,ubuntu出现挂载,怎么把网页放入tomcat,爬虫图片准备,php获取来访域名,如何做好seo外推蜘蛛池lzw

本帖最后由 php_csdn1 于 -11-13 11:00:58 编辑

密码管理器 网站源码,ubuntu启动网络失败,腾讯公众号爬虫,php怎么判断是否有一个字,企商seolzw

/**

* 模型实例化入口

*

* @param string $model_name 模型名称

* @return obj 对象形式的返回结果

*/

function Model($model = null){

static $_cache = array();

if (!is_null($model) && isset($_cache[$model])) return $_cache[$model];

$file_name = BASE_DATA_PATH./model/.$model..model.php;

$class_name = $model.Model;

if (!file_exists($file_name)){

return $_cache[$model] = new Model($model);

}else{

require_once($file_name);

if (!class_exists($class_name)){

$error = Model Error: Class .$class_name. is not exists!;

throw_exception($error);

}else{

return $_cache[$model] = new $class_name();

}

}

}

——解决思路———————-

汽修厂软件源码,ubuntu 撤销命令操作,详解Tomcat配置及使用,怎么捡爬虫,小儿PHP截骨课件,heinous seolzw

/**

* 模型实例化入口

*

* @param string $model_name 模型名称

* @return obj 对象形式的返回结果

*/

function Model($model = null){

//存储已经实例化的model的数组 model名字为key 实例化为value

static $_cache = array();

//如果在cache存储中存在 则直接返回对应的存储实例

if (!is_null($model) && isset($_cache[$model])) return $_cache[$model];

//model存储的文件路径 model需要按照 xxxxx.model.php

$file_name = BASE_DATA_PATH./model/.$model..model.php;

//model的类型需要是 xxxxModel

$class_name = $model.Model;

if (!file_exists($file_name)){

//如果文件不存在(类不存在) 实例化一个Model的对象

return $_cache[$model] = new Model($model);

}else{

//如果文件存在(类存在) 则包含进来

require_once($file_name);

//判断类是否存在 不存在抛出异常

if (!class_exists($class_name)){

$error = Model Error: Class .$class_name. is not exists!;

throw_exception($error);

}else{

//存在则实例化 放在cache里边 并返回

return $_cache[$model] = new $class_name();

}

}

}

其实就是Model的实例化和一个对象缓存 现在一般用autoload来实现

——解决思路———————-

这段代码就一个作用:返回$model的实例类

返回途径有三个:

1、如果静态变量中已经实例过了,就直接返回;

2、如果model目录中存在类文件,则实例化其中的类

3、如果文件不存在,则直接返回一个此类的实例

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。