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. java笔试题大全之IO流常见选择题

    1.下面哪个流类属于面向字符的输入流()选择一项)A. BufferedWriterB. FileInputStreamC. ObjectInputStreamD. InputStreamReader ...

  2. python_django_admin

    admin 是Django提供的基于web的管理工具,是系统管理员用于数据的输入,删除和查询的管理工具. 超级管理员在settings中的集成:INSTALLED_APPS=['django.cont ...

  3. 利用Python批量重命名一系列文件名杂乱的文件

    假设目录下面有这样一系列命令杂乱的文件: OPENFOAM -TRAINING- PART- #1.pdf OPENFOAM - TRAINING- PART- #2.pdf OPENFOAM- TR ...

  4. 分布式项目spring 配置文件的约束

    <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.spr ...

  5. onethink中的用户登录session签名

    用户登录签名问题,即防止伪造登录session,增加一个用户登录数组的加密签名 onethink的登录控制,先调用UC表中(UC表也是存储在网站或本地的数据库中的),确认登录信息.如果UC表登录成功, ...

  6. Windows注册表的学习

    什么是注册表 注册表是Windows在Win95/98系统开始引入的一种核心数据库,里面存放着各类的配置信息.参数等.直接控制着系统的启动.硬件的装载以及Winodws程序的运行 手册表的功能 记录用 ...

  7. Android 读取<meta-data>元素的数据

    在AndroidManifest.xml中,<meta-data>元素可以作为子元素,被包含在<activity>.<application> .<servi ...

  8. 使用python发送163邮件 qq邮箱

    使用python发送163邮件 def send_email(title, content): import smtplib from email.mime.multipart import MIME ...

  9. PHP面试 PHP基础知识 三(运算符)

    PHP运算符 PHP的运算符的错误控制符@ PHP支持一个错误运算符:@.当将其放在一个PHP表达式之前,该表达式可能产生的任何错误信息都将会被忽略掉. PHP运算符 运算符的优先级 着重记忆运算符 ...

  10. SPSS把一个数据样本随机分为两部分

    SPSS把一个数据样本随机分为两部分 1.  打开SPSS数据文件. 2.  选择DATA>SELECT CASES,打开"Select Cases"对话框 3. 选择&qu ...