Thinkphp 框架配置操作之配置加载与读取配置实例分析

这篇文章主要介绍了Thinkphp 框架配置操作之配置加载与读取配置,结合实例形式分析了Thinkphp 框架配置操作中配置加载原理、操作技巧与相关注意事项,需要的朋友可以参考下本文实例讲述了Thinkphp 框架配置操作之配置加载与读取配置。分享给大家供大家参考,具体如下:配置加载在ThinkPHP中,一般来说应用的配置文件是自动加载的,加载的顺序是:惯例配置->应用配置->模式配置->调试配置->状态配置->模块配置->扩展配置->动态配置以上是配置文件的加载顺序,因为后面的配置会覆盖之前的同名配置(在没有生效的前提下),所以配置的优先顺序从右到左。不同的配置文件的区别和位置:惯例配置惯例重于配置是系统遵循的一个重要思想,框架内置有一个惯例配置文件(位于ThinkPHP/Conf/convention.php),按照大多数的使用对常用参数进行了默认配置。所以,对于应用的配置文件,往往只需要配置和惯例配置不同的或者新增的配置参数,如果你完全采用默认配置,甚至可以不需要定义任何配置文件应用配置应用配置文件也就是调用所有模块之前都会首先加载的公共配置文件(默认位于Application/Common/Conf/config.php)。如果更改了公共模块的名称的话,公共配置文件的位置也相应改变模式配置(可选)如果使用了普通应用模式之外的应用模式的话,还可以为应用模式(后面会有描述)单独定义配置文件,文件命名规范是: Application/Common/Conf/config_应用模式名称.php(仅在运行该模式下面才会加载)。模式配置文件是可选的参考:http://www.cncsto.com/article/6259调试配置(可选)如果开启调试模式的话,则会自动加载框架的调试配置文件(位于ThinkPHP/Conf/debug.php)和应用调试配置文件(位于Application/Common/Conf/debug.php)状态配置(可选)每个应用都可以在不同的情况下设置自己的状态(或者称之为应用场景),并且加载不同的配置文件。举个例子,你需要在公司和家里分别设置不同的数据库测试环境。那么可以这样处理,在公司环境中,我们在入口文件中定义:1define('APP_STATUS','office');那么就会自动加载该状态对应的配置文件(位于Application/Common/Conf/office.php)。如果我们回家后,我们修改定义为:1define('APP_STATUS','home');那么就会自动加载该状态对应的配置文件(位于Application/Common/Conf/home.php)。状态配置文件是可选的模块配置每个模块会自动加载自己的配置文件(位于Application/当前模块名/Conf/config.php)。如果使用了普通模式之外的其他应用模式,你还可以为应用模式单独定义配置文件,命名规范为: Application/当前模块名/Conf/config_应用模式名称.php(仅在运行该模式下面才会加载)。模块还可以支持独立的状态配置文件,命名规范为: Application/当前模块名/Conf/应用状态.php。读取配置无论何种配置文件,定义了配置文件之后,都统一使用系统提供的C方法(可以借助Config单词来帮助记忆)来读取已有的配置。用法:1C('参数名称')例如,读取当前的URL模式配置参数:123$model = C('URL_MODEL');// 由于配置参数不区分大小写,因此下面的写法是等效的// $model = C('url_model');但是建议使用大写方式的规范。注意:配置参数名称中不能含有 “.” 和特殊字符,允许字母、数字和下划线。如果url_model尚未存在设置,则返回NULL。支持在读取的时候设置默认值,例如:12// 如果my_config尚未设置的话,则返回default_config字符串C('my_config',null,'default_config');C方法也可以用于读取二维配置:12//获取用户配置中的用户类型设置C('USER_CONFIG.USER_TYPE');因为配置参数是全局有效的,因此C方法可以在任何地方读取任何配置,即使某个设置参数已经生效过期了。

(0)

相关推荐

  • 系统流程

    我们来系统的了解下ThinkPHP框架开发的应用的标准执行流程: 用户URL请求 调用应用入口文件(通常是网站的index.php) 载入框架入口文件(ThinkPHP.php) 记录初始运行时间和内 ...

  • 扩展配置

    扩展配置可以支持自动加载额外的自定义配置文件,并且配置格式和项目配置一样. 设置扩展配置的方式如下(多个文件用逗号分隔): // 加载扩展配置文件'LOAD_EXT_CONFIG' => 'us ...

  • (22条消息) springBoot指定application.yml文件

    加上这个启动jar包的时候加上-Dspring.config.location= -Dspring.config.location=./application.yml java -Dfile.enco ...

  • Springboot 中配置文件的优先级和加载顺序

    Springboot 中配置文件的优先级和加载顺序

  • 配置加载

    在ThinkPHP中,一般来说应用的配置文件是自动加载的,加载的顺序是: 惯例配置->应用配置->模式配置->调试配置->状态配置->模块配置->扩展配置-> ...

  • thinkPHP定义路由

    URL地址里面的index模块怎么才能省略呢,默认的URL地址显得有点长,下面就来说说如何通过路由简化URL访问. 我们在路由定义文件(application/route.php)里面添加一些路由规则 ...

  • 应用模式

    每个应用模式有自己的定义文件,用于配置当前模式需要加载的核心文件和配置文件,以及别名定义.行为扩展定义等等.除了模式定义外,应用自身也可以独立定义模式文件 默认情况下的应用模式是普通模式(common ...

  • 水下电机损耗加载方式及温度场耦合分析

    ★中国电工技术学会出品★ 致力于产业界与学术界融合创新的品牌会议 ①浏览会议通知,请戳下面标题 ☟ ☞会议通知︱2018第十二届中国电工装备创新与发展论坛暨第八届电工技术前沿问题学术论坛(第一轮) ② ...

  • Selenium2+python自动化75-Chrome配置加载

    一.加载Chrome配置 chrome加载配置方法,只需改下面一个地方,username改成你电脑的名字(别用中文!!!) '--user-data-dir=C:\Users\username\App ...

  • vue 开发常用工具及配置七:处理资源加载问题

    目录 1 资源加载 1.1 处理 img.src 这样的资源属性 1.2 在内嵌样式中 background-image 如何加载 1.3 在样式块中 background-image 如何加载 2 ...

  • Spring Boot JDBC:加载DataSource过程的源码分析及yml中DataSource的配置

    Spring Boot实现了自动加载DataSource及相关配置.当然,使用时加上@EnableAutoConfiguration注解是必须的.下面就是对这一部分的源码分析. (1)Spring B ...

  • ABB 机器人 I/O信号监控与操作 Profibus与Profinet适配器的连接配置《第二期》

    第一期已经介绍过了,今天我们来学习新的知识,第二期教你学会信号的配置方法及监控与操作的方式,掌握Profibus总线配置方法和Profinet总线配置方法及学会系统输入输出和可编程按键的使用. 智能方 ...

  • 易资讯| 三星新款折叠屏机型售价曝光,一加Nord 2屏幕配置已确认……

    三星新款折叠屏机型售价曝光 随着此前已经有传言曝光了三星旗下新款折叠屏机型Galaxy Z Fold 3与Galaxy Z Flip 3的相关信息后,或将在8月11日亮相的这两款新机也吸引了外界的众多 ...

  • 在CentOS启动时自动加载内核模块overlayfs操作

    这篇文章主要介绍了在CentOS启动时自动加载内核模块overlayfs操作,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧在CentOS中自动加载内核模块,可以在/etc/sysco ...

  • OPPO R17旗舰加强版机皇!一加6T正式发布:配置大升级 最高售价4380元

    北京时间29日晚11点,一加手机正式推出了其第二款全速旗舰一加6T,作为一加6T升级版,到底能够为我们带来哪些惊喜那?下面就一起来看一下吧. 在纽约召开新品发布会上,张老板依旧非常直接的将一加6T的硬 ...