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. [转载]图文详解YUV420数据格式

    原博主的博客为:https://www.cnblogs.com/azraelly/archive/2013/01/01/2841269.html YUV格式有两大类:planar和packed.对于p ...

  2. 让微信小程序每次请求的时候不改变session_id的方法

    让微信小程序每次请求的时候不改变session_id的方法 每次微信小程序请求的时候都会改变session id, 还好他的请求方法内可以设置header头 所以只需要在启动程序后第一次请求服务器获得 ...

  3. bzoj4237稻草人

    题意:给你一个田地,问左下角和右上角有稻草人并且内部除了边界都没有稻草人的矩形数. 标程: #include<bits/stdc++.h> using namespace std; int ...

  4. Laravel5.5添加新路由文件并制定规则

    Laravel5.5里面有4个默认的路由文件,其中web.php是默认路由文件,如果需要添加其他路由文件,按照以下步骤进行. 此处以添加网站home前端路由举例,我已经先在/app/Http/Cont ...

  5. docker安装cboard

    参考链接: https://hub.docker.com/r/chenlmdocker/docker-cboard/dockerfile https://www.cnblogs.com/zimo-ji ...

  6. elasticsearch依赖的jackson-jar包与jboss依赖的jackson-jar包“版本”冲突

    elasticsearch依赖的jackson-jar包与jboss依赖的jackson-jar包“版本”冲突,导致elasticsearch相关功能在本地tomcat服务器正常,但是部署到jboss ...

  7. rabbitmq使用延迟时报异常

    声明交换机为延迟时报异常( unknown exchange type 'x-delayed-message')的解决方法 服务端需下载安装插件: 1.下载插件包 2.将下载后的插件包移至服务安装目录 ...

  8. java 多上传 CommonsMultipartFile[] files

    /** * 视频上传 * ddl * @param request * @param response * @param files * @return * @throws Exception */@ ...

  9. 训练集(train set) 验证集(validation set) 测试集(test set)。

    训练集(train set) 验证集(validation set) 测试集(test set). http://blog.sina.com.cn/s/blog_4d2f6cf201000cjx.ht ...

  10. opencv环境变量配置

    本文章由@浅墨_毛星云 出品  原文文章链接:http://blog.csdn.net/poem_qianmo/article/details/19809337 作者:毛星云(浅墨)    微博:ht ...