Thinkphp学习回顾(二)之config.php的配置
常见配置项
<? return array( //'配置项'=>'配置值'
'TMPL_L_DELIM'=>'<{', //修改左定界符,防止其与js中的代码重合,发生造成问题'TMPL_R_DELIM'=>'}>', //修改右定界符(重点)
'DB_PREFIX'=>'tp_',//设置数据库表前缀便于管理分类(重点)
'DB_DSN'=>'mysql://root:@localhost:3306/thinkphp3',/*使用DSN配置链接数据库信息(重点)意思是使用的是mysql数据库文件,用户名是root中间以:隔开,密码为空所以省略,@后面是服务器名称,然后冒号后面是3306端口号,用/隔开的最后一项是数据库名称(重点)。*/
'SHOW_PAGE_TRACE'=>true,//开启页面追踪,便于检查sql语句的执行情况(重点)
'TMPL_PARSE_STRING'=>array(
'__CSS__'=>__ROOT__.'/Public/Css',
'__JS__'=>__ROOT__.'/Public/Js',
'__IMAGES__'=>__ROOT__.'/Public/Images',
),/*这是定义替换规则的,像上面这种定义,就可以直接在前台页面使用__CSS__代替从项目文件名到Css这个文件夹的完整路径__ROOT__是模板替换规则,是找到项目文件夹路径,比如你的项目叫bbs,那么他就会找到代替你的项目文件夹的名称,就算以后改了项目文件夹的名称你用__ROOT__替换后也不会有错,它也会默认修改的,更多模板替换规则,详见文章底部的备注*/
); ?>
有以上配置,一般一个项目就可以完成了,除非你还想变一下花样,那你可以参照下面的配置代码项
<?php
return array(
//'配置项'=>'配置值'
'URL_PATHINFO_DEPR'=>'/', //这是修改pathinfo模式在地址输入中的斜线换为其他符号,默认为/,可以不写
'TMPL_L_DELIM'=>'<{', //修改左定界符,防止其与js中的代码重合,发生造成问题 'TMPL_R_DELIM'=>'}>', //修改右定界符
/*'DB_TYPE'=>'mysql', //数据库类型//7-13是数据库的配置,但是太麻烦,所以弃用
'DB_HOST'=>'localhost',//设置主机
'DB_NAME'=>'thinkphp',//设置数据库名
'DB_USER'=>'root',//设置用户名
'DB_PWD'=>'',//设置密码
'DB_PORT'=>'3306',//设置端口号*/
'DB_PREFIX'=>'tp_',//设置表前缀
'DB_DSN'=>'mysql://root:@localhost:3306/thinkphp3',//使用DSN配置数据库信息,一句就可以完成上面的数据库配置任务
'SHOW_PAGE_TRACE'=>true,//开启页面追踪
//'DB_LIKE_FIELDS'=>'title|content' //查询语句中title content等字段条件自动变为模糊查询%%。
'TMPL_TMPLATE_SUFFIX'=>'.html',//更改文件后缀,默认是html,你可以设置别的比如.tpl
//'TMPL_FILE_DEPR'=>'_',//更改目录结构将Tpl文件夹的形式改为如Index_index的形式,比如由Index文件夹下的index.html变为Index_index.html也可以用了
/*
* 这是主题模板的全部3项配置,我们暂时关闭
'DEFAULT_THEME'=>'my',//设置默认的模板主题为my
'TMPL_DETECT_THEME'=>true,//将自动侦测设为自动
'THEME_LIST'=>'my,your',//设置所有支持的模板的列表
*/
'LAYOUT_ON'=>true,//自动开启模板渲染
'URL_CASE_INSENSITIVE'=>true,//url不区分大小写
//'URL_HTML_SUFFIX'=>'html|shtml|xml',//限制伪静态的后缀名
'TMPL_PARSE_STRING'=>array(
'__CSS__'=>__ROOT__.'/Public/Css',
'__JS__'=>__ROOT__.'/Public/Js',
'__IMAGES__'=>__ROOT__.'/Public/Images',
),//这是定义替换规则的
//配置路由
'URL_ROUTER_ON'=>true,//开启路由
/*
* 1.规则路由
'URL_ROUTE_RULES'=>array(
//'my'=>'Index/index',//使用my在路由中代替Index/index:静态地址路由
//':id/:num'=>'Index/index',//动态地址路由:id,num这些值可以传进去
'year/:year\d/:month/:day$'=>'Index/index',//动静态混合的路由第一个year是静态
//如果加上\d那么表示那项只能是数字,有字母或者其他的都会报错
//正则中^为开始,在最后加一个$则表示结束,再也不能加上其他的东西了 ),//设置路由规则
*/
/*
* 正则路由
* */
'URL_ROUTE_RULES'=>array(
'/^year\/(\d{4})\/(\d{2})\/(\d{2})$/'=>'Index/index?year=:1&month=:2&day=:3',
//多个规则并列时,复杂的放在上面,这是正则的URL,意思是第一项只能是4位的数字,/起解析作用,上面的代码实现了将年月日传入了URL
), );
?>
备注:
默认的模板替换规则:
__PUBLIC__ :会被替换成当前网站的公共目录 通常是 /Public/
__ROOT__ : 会替换成当前网站的地址(不含域名)
__APP__ : 会替换成当前项目的 URL 地址 (不含域名)
__URL__ : 会替换成当前模块的 URL 地址(不含域名)
__ACTION__ :会替换成当前操作的 URL 地址 (不含域名)
__SELF__ : 会替换成当前的页面 URL
Thinkphp学习回顾(二)之config.php的配置的更多相关文章
- ThinkPHP学习(二)理清ThinkPHP的目录结构及访问规则,创建第一个控制器
ThinkPHP的目录结构 回顾上一篇的安装目录: 目录对应关系 F:\\PHP├─index.php 入口文件├─README.md README文件├─Applicatio ...
- Thinkphp学习回顾(一)之基本结构目录
TP框架的学习一般都是从了解框架的基本结构开始的,每个文件都有其专属的作用,我的TP框架的回顾也从基本结构开始讲起. 一.ThinkPHP的获取 http://www.thinkphp.cn 这是 ...
- ThinkPHP 学习笔记 ( 二 ) 控制器 ( Controller )
/** * ThinkPHP version 3.1.3 * 部署方式:应用部署 * 文内的 http://localhost/ 由实际主机地址代替 */ 入口文件 index.php: <?p ...
- ThinkPHP学习(二)
开发规范 1.命名规范 使用ThinkPHP开发的过程中应该尽量遵循下列命名规范: 特例:在ThinkPHP里面,有一个函数命名的特例,就是单字母大写函数,这类函数通常是某些操作的快 捷定义,或者有特 ...
- ThinkPHP学习笔记(二)
1.比较好的参考手册(非官方,注意:也有一些错误,当出不来想要的效果时以官方的手册为准):http://www.5idev.com/p-thinkphp_lib_vendor.shtml 2.加载自定 ...
- SpringBoot学习(二)——Spring的Java配置方式
Java配置是Spring4.x推荐的配置方式,可以完全替代xml配置. 一.@Configuration 和 @Bean Spring的Java配置方式是通过@Configuration和@Bean ...
- redis学习(二)redis.conf文件配置
转自: https://www.cnblogs.com/pqchao/p/6558688.html 为了更好的使用redis,我们需要详细的了解redis配置文件及相关参数作用. bind 127.0 ...
- Spring学习记录(二)---容器和bean属性配置
下载spring包,在eclipse搭建spring环境. 这步我在eclipse中无法导入包,看网上的: http://sishuok.(和谐)com/forum/blogPost/list/242 ...
- HighCharts学习笔记(二)HighCharts结构及详细配置
HighCharts结构及详细配置: 一.HighCharts整体结构: 通过查看API文档我们知道HighCharts结构如下:(API文档在文章后面提供下载) var chart = new Hi ...
随机推荐
- 掌握Thinkphp3.2.0----SQL查询
首先,先谈一下对查询的理解:查询的对象是数据库中的数据表,一个或多个:查询的限制就是各种条件或要求:查询的结果=表对象+限制(条件). 对数据表的操作(CRUD)查询是最复杂也是最关键的一步!'SEL ...
- Java算法之字符串反转分析
本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! 在基本的工作内容开发中,算法不会显得那么重要,而在百万级别的时候,差距非常大,今天带大家研究下常见的 ...
- golang: 常用数据类型底层结构分析
虽然golang是用C实现的,并且被称为下一代的C语言,但是golang跟C的差别还是很大的.它定义了一套很丰富的数据类型及数据结构,这些类型和结构或者是直接映射为C的数据类型,或者是用C struc ...
- ASP.NET TextBox 当鼠标点击后清空默认提示文字[转]
前台文本框里添加下面2个事件属性: OnFocus="javascript:if(this.value=='提示文字') {this.value=''}" OnBlur=" ...
- H5唤起APP一些坑
$(function () { function _openAppUrl(appUrl){ var ua = navigator.userAgent.toLocaleLowerCase(), open ...
- C语言一维数组、二维数组、结构体的初始化
C语言数组的初始化表示方法 一.C语言一维数组初始化: (1)在定义数组时对数组元素赋以初值.如: static int a[10]={0,1,2,3,4,5,6,7,8,9}; 经过上面的定义和初始 ...
- spark编写word count
创建SparkContext对象的时候需要传递SparkConf对象,SparkConf至少需要包含spark.master和spark.app.name这两个参数,不然的话程序不能正常运行 obje ...
- TPS04-J. 使用线程池时确保ThreadLocal变量每次都初始化
线程池可以提供这种保障,一旦你的代码开始执行了,被分配来执行这个task的线程在执行完你的task之前不会做别的事情. 所以不用担心执行到一半被别的task改了 thread local 的变量. 由 ...
- MongoDB安装及入门
下载 windows下的是3.2的版本 https://docs.mongodb.com/manual/tutorial/install-mongodb-on-windows/ mongodb采用27 ...
- >>> 主页推荐链接
Apple专区 App Store 排行榜 App Store 排行榜 - 中国区 PC6苹果网 威锋网 第三方 环信 - 即时通讯云领导者 腾讯Bugly - Android Crash | iOS ...