ThinkPHP框架总结之配置及使用:

TP框架提供了灵活的全局参数变量配置功能,使用高效的返回php数组定义,支持惯例、公共、模块、调试及动态参数配置功能。下面会结合例子来介绍最常用的默认PHP数组配置方式(xml/json/ini/yaml方式不进行介绍),如何读取数组配置及动态配置,对于拓展配置实际用的不多,这里不赘述,感兴趣的读者可自行查资料,。

在了解相关的配置前,我们有必要先了解下,在ThinkPHP中配置文件的加载顺序。一般的加载顺序是:惯例配置-》应用配置-》模块配置,中间未考虑可选的模式配置、调试配置以及状态配置。注意:因为后面的配置会覆盖前面的同名配置,所以配置的生效顺序是从右往左哦。

惯例配置:

惯例配置文件位于TP框架库中,位置是ThinkPHP/Conf/convention.php,里面配置了针对大多应用的基础配置。

应用配置:

应用配置文件位于Project/Common/Conf/config.php(针对上一篇项目而定的位置,下同),也就是调用加载所有模块之前首先加载的全局通用文件。

模块配置:

模块配置文件的位置Project/应用模块/Conf/config.php,例如:Project/Admin/Conf/config.php。一般一个应用包含多个模块,但至少有一个模块,简单理解为运行到模块,即为加载该文件了。

PHP数组配置:

<?php

return array (

/* 图片上传路径配置 */

'IMG_SAVE_URI' => 'http://192.168.10.123/images/',

/*模块划分 */

'MODULE_ALLOW_LIST' => array (

'Admin'=>'后台',

'Mobile'=>'移动',

'Wxapp'=>'微信',

'Website'=>'官网'

) // 允许的运行的模块

)

;

上面的配置是在Project/Mobile模块下的Conf/config.php文件,也就是上面的模块配置了,下面会读取该配置参数的值。注意:配置参数不区分大小写,因为最后都会转为小写,建议统一为大写格式。

如何读取配置:

在TP框架中,支持使用C函数来读取各种配置参数,不论是系统预定配置还是自定义配置,同时也可以指定参数配置的默认值等。

读取的接口:

// 用户头像保存接口(一维数组)

public function headerSave() {

// ...

// 读取配置的图片保存路径(一维数组)

$header_uri= C('IMG_SAVE_URI');

echo $header_uri;

// ...

}

返回的值:

// 允许运行的模块接口(二维数组)

public function allowModules() {

header("Content-Type:text/html;charset=utf-8");

// ...

// 读取允许运行的模块(二维数组)

$allowModule= C('MODULE_ALLOW_LIST.Mobile');

echo $allowModule;

// ...

}

返回的值:

如果配置未设定值,那么返回为null,另外,读取的时候也可以为其指定默认值(这里不赘述)。

动态配置参数:

上面的参数配置都是预定义配置,这里同样使用C函数在程序运行中动态的修改配置参数的值,这种情况也比较常见,例如:有时我们需要动态修改缓存数据的缓存时间,那么怎么实现哪?很简单,具体入下(包含一、二维数组修改):

// 动态修改配置接口

public function dynamicSet() {

header("Content-Type:text/html;charset=utf-8");

// 一维数组

// 默认的数据缓存时间

$defaultTime= C('DATA_CACHE_TIME');

echo $defaultTime.'</br>';

// 修改的数据缓存时间

C('DATA_CACHE_TIME',60);

$updateTime= C('DATA_CACHE_TIME');

echo $updateTime.'</br>';

// 二维数组

// 默认的允许运行模块

$defaultModule= C('MODULE_ALLOW_LIST.Mobile');

echo $defaultModule.'</br>';

// 修改的允许运行模块

C('MODULE_ALLOW_LIST.Mobile','移动App');

$updateModule= C('MODULE_ALLOW_LIST.Mobile');

echo $updateModule;

}

返回的结果:

技术讨论群:489451956(新)

ThinkPHP框架总结之配置及使用相关推荐

  1. 如果要用thinkphp框架_php需要改哪些配置,thinkPHP框架动态配置用法实例分析

    本文实例讲述了thinkPHP框架动态配置用法.分享给大家供大家参考,具体如下: 最近在用@ThinkPHP 做系统的时候,要用到一个功能,就要动态的将系统的配置参数保存到Config文件中.以往,我 ...

  2. ThinkPHP框架配置自定义的模板变量(十)

    原文:ThinkPHP框架配置自定义的模板变量(十) 模板替换(手册有详细介绍对应的目录) __PUBLIC__:会被替换成当前网站的公共目录 通常是 /Public/ __ROOT__: 会替换成当 ...

  3. ThinkPHP框架配置安装(详细)

    1.下载ThinkPHP框架压缩文件 ThinkPHP的官网下载地址:http://www.thinkphp.cn/down.html 我用的是3.2版本的,大家看需求自行选择. 2.在你的www目录 ...

  4. 使用xdebug分析thinkphp框架函数调用图

    开发中需要性能调优,使用xdebug分析thinkphp框架函数调用图. 关于xdebug的安装参考这2篇 NetBeans配置Xdebug 远程调试PHP php扩展xdebug安装以及用kcach ...

  5. 从ThinkPHP框架核心讨论C、E、G、L、T、I、N...等函数

    如果只是从了解怎么用这几函数的角度看,直接看官方发布的文档即可!但是要了解这些函数是怎么被ThinkPHP框架定义调用的,那需要另外一番讨 论了.还好,ThinkPHP官方在源码力做了很好的注释,通过 ...

  6. php阿里大于验证码开发,阿里大于验证码发送 (ThinkPhp框架)

    1.登录平台 阿里大于 2.登陆之后我们可以看到资费,使用场景等,在进入正题之前我们需要一些准备工作,首先我们先了解下短信的请求参数,在这里我们需要注意的是sms_param这个参数,在接下来我们申请 ...

  7. ThinkPHP框架搭建网站

    ThinkPHP框架搭建网站 第一步:找网页模板(不会美工,PS,见谅..) 前端页面我找的是一个大学的实验室,这里就不贴了,很普通的那种.后台直接下载的模板,感觉蛮漂亮的,运行后如下图: 第二步:初 ...

  8. ThinkPHP 框架培训资料

    2019独角兽企业重金招聘Python工程师标准>>> ┎━ThinkPHP 框架系统目录 ┃ ┝ ThinkPHP.php 系统公共文件 ┃ ┝ Common 公共文件目录 ┃ ┝ ...

  9. 【ThinkPHP系列篇】ThinkPHP框架的介绍和搭建(一)

    各位博友好,最近博主学了关于ThinkPHP的一些基本操作,感觉很有收获,所以作为小白的我想与大家分享一些关于ThinkPHP的搭建及基本操作,感觉更适合初学者来学习,当然也希望大牛们能够给小白我提出 ...

最新文章

  1. 关于fflush、缓冲区、scanf、EOF等问题真麻烦
  2. ST CUBEMX 修改MCU型号
  3. 成功解决Lib\sre_compile.py, line 17, in module assert _sre.MAGICMAGIC SRE module mismatch
  4. 3种Python数据结构,13种创建方法,这个总结,超赞!
  5. action链接html,如何使用@ html.actionlink删除链接文本
  6. MyCat双机HA高可用集群搭建_Keepalived安装和配置---MyCat分布式数据库集群架构工作笔记0029
  7. 2021-2025年中国电影发行行业市场供需与战略研究报告
  8. hashtable是线程安全的吗_Java程序猿必知:线程安全ConcurrentHashMap和Hashtable有啥区别...
  9. 计算机逻辑运算进位,二进位数进行逻辑运算1010AND1001的运算结果
  10. usbcan、can分析仪、can卡的产品特点和功能特点
  11. cjson读取json文件_JSON格式介绍和使用cJSON解析 | 学步园
  12. 凤凰os 停在android,电脑的安卓系统,凤凰OS:有亮点但还很粗糙的系统
  13. 基于CANdelaStudio制作CDD流程概述
  14. 鼠标移入以及移出时图标背景透明效果
  15. Layui使用中遇到的问题
  16. OpenCV-Python 级联分类器训练 | 六十三
  17. 高分一号(GF-1)卫星影像数据全色和多光谱信息介绍
  18. 康耐视Visionpro白平衡的详细步骤
  19. php解压base64编码,PHP函数分享之解压缩base64压缩文件
  20. 有哪些好的科研习惯?

热门文章

  1. 软件可靠性测试与用例设计
  2. c语言adc0809小数点,ADC0809做AD转换的C程序
  3. e=vm2:vm in evm
  4. 基于SSM网上水果生鲜超市商城|电商购物系统
  5. eXtremeDB打开连接问题
  6. idea报依赖未找到_idea maven 工程一直报找不到包
  7. python定义函数练习题_python练习题
  8. 大数据——频繁关联规则,置信度,支持度
  9. 七十行代码教你使用 python ffmpeg 压缩视频,再也不用担心视频过大了
  10. 在 Mac 上显示或隐藏文件扩展名