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. redis配置篇

    配置 Redis的配置信息在/etc/redis/redis.conf下. 查看 sudo vi /etc/redis/redis.conf 核心配置选项 绑定ip:如果需要远程访问,可将此⾏注释,或 ...

  2. spring中bean的高级属性之list, set, map以及props元素(含举例)

    转自:http://qingfeng825.iteye.com/blog/144704 list, set, map和props元素分别用来设置类型为List,Set,Map和Propertis的属性 ...

  3. C++中创建对象的时候加括号和不加括号的区别(转)

    c++创建对象的语法有----- 1 在栈上创建 MyClass a; 2 在堆上创建加括号 MyClass *a= new MyClass(); 3 不加括号 MyClass *a = new My ...

  4. CSIC_716_20191217【事务、视图、触发器、存储过程、索引】

    事务: 事务保证对数据操作时的安全性,事务中的代码要么一起成功,要么一起失败. 事务以  start transaction  开始,中间可以写诸多个sql 语句对数据库进行操作, 以rollback ...

  5. Jmeter关联之正则表达式提取器(完整版)

    Jmeter关联之正则表达式提取器(完整版)   在性能测试中,若想提取上一个请求的结果,作为下一次请求的参数,则需要使用关联~ 这篇博客主要讲jmeter正则表达式提取器的各种用法. 首先正则表达式 ...

  6. HZOI2019SF

    Simulation Final 坑.下午我要爆零(RP++) upd: 哈哈哈哈哈哈哈哈哈哈我真的爆零了哈哈哈哈哈哈哈哈哈哈 关于细节, T1A了但是和T3交反了哈哈哈哈哈哈哈哈哈哈 我说我真的不是 ...

  7. [7.18NOIP模拟测试5]星际旅行 题解

    题面(加密) 考场上靠打表yy出的规律进而想到的正解233333 可以把一条双向边拆成两条单向边,这样的话每个点度数都为偶数,符合欧拉图的定义. 那么题目可以转化为:去掉两条边,使图中存在一条欧拉路. ...

  8. 【系统安全性】四、认证Authentication

    四.认证Authentication 1.为什么要认证 对请求.数据进行认证,判断伪造的数据 HTTP请求很脆弱,抓包软件很强大,容易伪造身份,非法获取数据 2.摘要认证 对象:客户端参数.服务端响应 ...

  9. arttemplate 后台返回的数据格式问题

    1. 2.JSON.parse() 方法用于将一个 JSON 字符串转换为对象. $("body").on("click","#analyze&quo ...

  10. HDU 6695 Welcome Party (贪心)

    2019 杭电多校 10 1005 题目链接:HDU 6695 比赛链接:2019 Multi-University Training Contest 10 Problem Description T ...