PHP数组定义

ThinkPHP框架中所有配置文件的定义格式均采用返回PHP数组的方式,格式为:

  1. //项目配置文件
  2. return array(
  3. 'DEFAULT_MODULE' => 'Index', //默认模块
  4. 'URL_MODEL' => '2', //URL模式
  5. 'SESSION_AUTO_START' => true, //是否开启session
  6. //更多配置参数
  7. //...
  8. );

配置参数不区分大小写(因为无论大小写定义都会转换成小写),所以下面的配置等效:

  1. //项目配置文件
  2. return array(
  3. 'default_module' => 'Index', //默认模块
  4. 'url_model' => '2', //URL模式
  5. 'session_auto_start' => true, //是否开启session
  6. //更多配置参数
  7. //...
  8. );

但是我们建议保持大写定义配置参数的规范。

还可以在配置文件中可以使用二维数组来配置更多的信息,例如:

  1. //项目配置文件
  2. return array(
  3. 'DEFAULT_MODULE' => 'Index', //默认模块
  4. 'URL_MODEL' => '2', //URL模式
  5. 'SESSION_AUTO_START' => true, //是否开启session
  6. 'USER_CONFIG' => array(
  7. 'USER_AUTH' => true,
  8. 'USER_TYPE' => 2,
  9. ),
  10. //更多配置参数
  11. //...
  12. );

需要注意的是,二级参数配置区分大小写,也就说读取确保和定义一致。

其他配置格式支持

3.2.2版本开始,配置文件增加yaml/json/xml/ini以及自定义格式支持。

我们可以在应用入口文件中定义应用的配置文件的后缀,例如:

  1. define('CONF_EXT','.ini');

定义后,应用的配置文件(包括模块的配置文件)后缀都统一采用.ini。

该配置不会影响框架内部的配置文件加载。

ini格式配置示例:

  1. DEFAULT_MODULE=Index ;默认模块
  2. URL_MODEL=2 ;URL模式
  3. SESSION_AUTO_START=on ;是否开启session

xml格式配置示例:

  1. <config>
  2. <default_module>Index</default_module>
  3. <url_model>2</url_model>
  4. <session_auto_start>1</session_auto_start>
  5. </config>

yaml格式配置示例:

  1. default_module:Index #默认模块
  2. url_model:2 #URL模式
  3. session_auto_start:True #是否开启session

json格式配置示例:

  1. {
  2. "default_module":"Index",
  3. "url_model":2,
  4. "session_auto_start":True
  5. }

除了yaml/json/xml/ini格式之外,我们还可以自定义配置格式,定义如下:

  1. define('CONF_EXT','.test'); // 配置自定义配置格式(后缀)
  2. define('CONF_PARSE','parse_test'); // 对应的解析函数

CONF_PARSE定义的解析函数返回值是一个配置数组。

ThinkPHP框架数组定义的更多相关文章

  1. 攻城记:Thinkphp框架的项目规划总结和踩坑经验

    一.项目模块规划 1.项目分为PC端.移动端.和PC管理端,分为对应目录为 /Application/Home,/Application/Mobile,/Application/Admin: 对应入口 ...

  2. 使用thinkPHP框架实现删除和批量删除一例【原创】

    本文为作者原创,转载请注明原作者及转载地址. 上一篇讲了如何用thinkPHP框架实现数据的添加,那这一篇就讲一下如何用thinkPHP实现数据的删除和批量删除吧. 预期效果图: 原谅博主对照片的处理 ...

  3. 【PHP ThinkPHP框架】小bug汇总[更新]

    目录结构 1.函数调用 2.绑定select下拉框数据 3.PHP查询功能 4.格式化时间和价钱 5.IF标签比较两个变量 6.eq标签比较两个变量 7.新增信息或者修改信息的自动验证和自动填充 8. ...

  4. thinkphp框架的相关总结

    参考链接地址:http://gongwen.sinaapp.com/article-205.html 1. 模板中不能使用的标签 {$content} {$i} 2. If标签 如: <if c ...

  5. 制作类似ThinkPHP框架中的PATHINFO模式功能(二)

    距离上一次发布的<制作类似ThinkPHP框架中的PATHINFO模式功能>(文章地址:http://www.cnblogs.com/phpstudy2015-6/p/6242700.ht ...

  6. PHP之ThinkPHP框架(界面)

    Thinkphp框架其精髓就在于实现了MVC思想,其中M为模板.V为视图.C为控制器,模板一般是公共使用类,在涉及数据库时,一般会跟数据表同名,视图会和控制器类里的方法进行名字的一一对应. 下载及配置 ...

  7. ThinkPHP框架基础知识一

    ThinkPHP是一个快速.兼容而且简单的轻量级国产PHP开发框架,诞生于2006年初,原名FCS,2007年元旦正式更名为ThinkPHP,遵循Apache2开源协议发布,从Struts结构移植过来 ...

  8. thinkphp框架下404页面设置

    404页面即系统在找不到请求的操作方法和找不到请求的控制器名称时的一种报错行为的优化. 第一步:在thinkphp框架中的Home/Comtroller中建一个EmptyController.clas ...

  9. thinkphp框架 查询语言

    thinkphp框架 查询语言 EQ     等于        (=) NEQ  不等于      (!=) GT     大于       (>) EGT   大于等于 (>=) LT ...

随机推荐

  1. androidstudio 2.3.3 jni过程汇总(1):1、自己编写c文件并使用(原)

    1.编写java代码,指定lib和native方法.package com.taven.myapplication; package com.taven.myapplication; import a ...

  2. 1、cmd中检测远程的ip和端口是否处于监听状态

    一.使用 ping 命令测试远程的ip是否可连通 cmd  (右键 管理员角色) ---  ping   IP 二.使用 telnet 测试远程某一个ip的端口是否开放 1.为了安全起见,window ...

  3. spring在注解标注的方法上加切面

    之前以为只能在方法签名上加切面,今天发现注解上也能加切面 1.自定义一个注解(任意注解都可以,不一定是自定义的) @Target({ElementType.METHOD}) @Retention(Re ...

  4. SSM框架整合依赖

    <dependencies> <!--mybatis核心jar包--> <dependency> <groupId>org.mybatis</gr ...

  5. 网格图必经点+dfs——cf1214D

    先正着走一次把所有可行路径标记出来,然后倒着走两条路径,一条是能向下就向下的路径,另一条能向右就向右. 如果这两条路径相交,那么(1,1)-(n,m)路径上比有个必经点,把这个必经点封上,答案是1,如 ...

  6. NOIp2018集训test-10-21 (联考六day1)

    今天被高一狂踩,两个手抖,t1一个1写成2,t3一个+=写成=,所谓失之毫厘谬以千里,直接丢了50分. 完全背包 看到背包体积如此之大物品体积如此之小容易很想到贪心,肯定要先加很多很多的性价比最高的最 ...

  7. [7.22NOIP模拟测试7]方程的解 题解(扩展欧几里得)

    Orz 送分比较慷慨的一道题,疯狂特判能拿不少分. 对于$a>0,b>0$的情况: 用exgcd求出方程通解,然后通过操作得到最小正整数解和最大正整数解 他们以及他们之间的解满足等差数列性 ...

  8. Java-Class-I:javax.servlet.http.HttpServletRequest

    ylbtech-Java-Class-I:javax.servlet.http.HttpServletRequest 1.返回顶部   2.返回顶部 1. package com.ylbtech.ap ...

  9. 访问者模式和 ASM

    文章目录 一. 概述 & 定义 二. 示例 2.1 创建抽象元素 2.2 创建具体元素 2.3 创建抽象访问者 2.4 创建具体访问者 2.5 访问者代码调用 三. ASM 中的访问者模式 3 ...

  10. SVN工作副本已经锁定错误的解决方法

    SVN工作副本锁定错误的解决方法 我们在使用svn版本控制软件时,时常会遇到想要更新本地项目的版本,却突然提示:工作副本已锁定.截图如下: 这种错误让人感觉很不舒服,实际上自己也没做过什么操作就这样了 ...