第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > ThinkPHP中Common/common.php文件常用函数功能分析

ThinkPHP中Common/common.php文件常用函数功能分析

时间:2022-11-07 16:49:00

相关推荐

ThinkPHP中Common/common.php文件常用函数功能分析

php教程|php手册

ThinkPHP,常用函数,

php教程-php手册

ThinkPHP中Common/common.php文件常用函数功能分析,

直播聚合平台 源码,ubuntu 不能连网,tomcat能带多少并发量,python vba爬虫,织梦模板使用php,Seo上排lzw

本文实例分析了ThinkPHP/Common/common.php文件常用函数功能。分享给大家供大家参考,具体如下:

电影源码带会员,vscode 修改配置,ubuntu 汉化,tomcat优点,c 使用sqlite,网页设计用什么技术,phpcms修改数据库配置,国外服务器空间,手机端城市联动插件,app 前端框架,java 开源爬虫,递归 php,seo刷,华为springboot笔记,标签的作用,方法网站目录,下载网页限制附件,h5 选择题 模板,dedecms后台不能登录问题,html页面分类查询,老y文章管理系统的版权在数据库里修改吗,获取程序基址lzw

/** * 获取和设置配置参数 支持批量定义 * @param string|array $name 配置变量 * @param mixed $value 配置值 * @return mixed */function C($name=null, $value=null) { static $_config = array(); // 无参数时获取所有 if (empty($name)) { if(!empty($value) && $array = cache(c_.$value)) {//array_change_key_case():将数组中的所有键名改为全小写或大写,默认会改为全小写$_config = array_merge($_config, array_change_key_case($array)); } return $_config; } // 优先执行设置获取或赋值,如果参数2为空,则为获取配置配置变量的值的情况;如果参数2不为空,则是为配置变量设置值的情况 if (is_string($name)) {//给配置变量设置值或者获取配置变量的值 if (!strpos($name, .)) {//如果配置变量名中没有".",则执行下面代码$name = strtolower($name);//将配置变量名转化为小写if (is_null($value)) return isset($_config[$name]) ? $_config[$name] : null;//获取配置变量值的情况,返回配置变量的值$_config[$name] = $value;//给配置变量设置值的情况return; } // 二维数组设置和获取支持 $name = explode(., $name); $name[0] = strtolower($name[0]); if (is_null($value))return isset($_config[$name[0]][$name[1]]) ? $_config[$name[0]][$name[1]] : null;//获取值的情况 $_config[$name[0]][$name[1]] = $value;//赋值的情况 return; } // 批量设置 if (is_array($name)){//批量设置值 //array_change_key_case():将数组中的所有键名改为全小写或大写,默认会改为全小写,注意:只是将键名改为小写哦 $_config = array_merge($_config, array_change_key_case($name)); if(!empty($value)) {// 保存配置值cache(c_.$value,$_config); } return; } return null; // 避免非法参数}

/** * 处理标签扩展,如: 项目开始标签的调用,tag(app_begin); * @param string $tag 标签名称 * @param mixed $params 传入参数 * @return mixed */function tag($tag, &$params=NULL) { // 系统或框架标签扩展 // C(extends, include THINK_PATH.Conf/tags.php);//这个文件很重要 $extends = C(extends. . $tag);//$_config[extends][app_init] // 应用或项目标签扩展 // C( ags, include CONF_PATH. ags.php); //项目中也可以编写自己的tags.php文件 $tags = C( ags. . $tag);//$_config[ ags][app_init] if (!empty($tags)) {//如果$tags不为空 if(empty($tags[\_overlay]) && !empty($extends)) { // 合并扩展$tags = array_unique(array_merge($extends,$tags)); }elseif(isset($tags[\_overlay])){ // 通过设置 \_overlay=>1 覆盖系统标签unset($tags[\_overlay]); } }elseif(!empty($extends)) { $tags = $extends; } if($tags) { if(APP_DEBUG) {G($tag.Start);trace([ .$tag. ] --START--,\,INFO); } // 执行扩展 foreach ($tags as $key=>$name) {if(!is_int($key)) { // 指定行为类的完整路径 用于模式扩展 $name = $key;}//创建行为类对象,如:$class=$name.Behavior;$behavior = new $class();//创建一个行为类对象B($name, $params);//执行某个行为,参数1-行为名称 参数2-传入的参数 } if(APP_DEBUG) { // 记录行为的执行日志trace([ .$tag. ] --END-- [ RunTime:.G($tag.Start,$tag.End,6).s ],\,INFO); } }else{ // 未执行任何行为 返回false return false; }}

/** * 执行某个行为 * @param string $name 行为名称 * @param Mixed $params 传人的参数 * @return void */function B($name, &$params=NULL) { //行为类在Think.class.php文件中的autoload($class)函数中自动加载 $class = $name.Behavior;//行为类的名称 G(ehaviorStart); $behavior = new $class();//创建一个行为类对象 $behavior->run($params);//给当前行为类对象传递参数 if(APP_DEBUG) { // 记录行为的执行日志 trace(Run .$name. Behavior [ RunTime:.G(ehaviorStart,ehaviorEnd,6).s ],\,INFO); }}

注意:行为类、模型类、控制器类 都是在Think.class.php文件中的autoload函数中自动加载的:

intellicad 源码,ubuntu 如何返回上级,爬虫箱的用处,php(string),seo规范代码lzw

/*** 系统自动加载ThinkPHP类库* 并且支持配置自动加载路径* @param string $class 对象类名* @return void*///行为类、模型类、控制器类 都是通过autoload函数自动加载的public static function autoload($class) { // 检查是否存在别名定义 if(alias_import($class)) return ; //行为类都是通过此函数自动加载的 if(substr($class,-8)==Behavior) { // 加载行为if(require_cache(CORE_PATH.Behavior/.$class..class.php) || require_cache(EXTEND_PATH.Behavior/.$class..class.php) || require_cache(LIB_PATH.Behavior/.$class..class.php) || (defined(MODE_NAME) && require_cache(MODE_PATH.ucwords(MODE_NAME)./Behavior/.$class..class.php))) { return ;} }elseif(substr($class,-5)==Model){ // 加载模型if((defined(GROUP_NAME) && require_cache(LIB_PATH.Model/.GROUP_NAME./.$class..class.php)) || require_cache(LIB_PATH.Model/.$class..class.php) || require_cache(EXTEND_PATH.Model/.$class..class.php) ) { return ;} }elseif(substr($class,-6)==Action){ // 加载控制器if((defined(GROUP_NAME) && require_cache(LIB_PATH.Action/.GROUP_NAME./.$class..class.php)) || require_cache(LIB_PATH.Action/.$class..class.php) || require_cache(EXTEND_PATH.Action/.$class..class.php) ) { return ;} } // 根据自动加载路径设置进行尝试搜索 $paths = explode(,,C(APP_AUTOLOAD_PATH)); foreach ($paths as $path){if(import($path...$class)) // 如果加载类成功则返回 return ; }}

PS:这里推荐几款本站的格式化/美化/转换工具可以帮助你整理杂乱无章的代码,相信大家在以后的开发中能够用得上:

php代码在线格式化美化工具:

/code/phpformat

JavaScript代码美化/压缩/格式化/加密工具:

/code/jscompress

在线XML格式化/压缩工具:

/code/xmlformat

JSON代码格式化美化工具:

/code/json

在线XML/JSON互相转换工具:

/code/xmljson

json代码在线格式化/美化/压缩/编辑/转换工具:

/code/jsoncodeformat

sql代码在线格式化美化工具:

/code/sqlcodeformat

更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教学》、《ThinkPHP常用方法总结》、《PHP中cookie用法总结》、《smarty模板入门基础教学》及《PHP模板技术总结》。

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