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 ...
随机推荐
- 保证唯一的一种js提交数据方式,还不错
<div class="project_right"> <div class="project_title_right" id="m ...
- JAVA中去掉空格经典整理
JAVA中去掉空格经典整理 JAVA中去掉空格 1. String.trim() --------------trim()是去掉首尾空格 2.str.replac ...
- CSS特异性(CSS Specificity)的细节之CSS样式权重的计算与理解(CSS样式覆盖规则)
本篇讲解CSS特异性(CSS Specificity)的细节,也就是CSS样式选择器的权重计算 通过计算选择器的权重(weight)最终决定哪个选择器将获得优先权去覆盖其他选择器的样式设定,即“优先原 ...
- cloudera learning3:Hadoop配置和守护进程logs
Services:Haddoop cluster上可以部署的组件,比如HDFS,YARN,HBase等. Roles:在service配置时,由Cloudera Manager创建.比如NameNod ...
- Mac使用最多的软件,整理集合
软件资源 #[PDF移除密码]Cisdem PDFPasswordRemover 3.0.0 [TNT] #Alfred_3.1.1_737 #fwmso2016vlu2.0 #iHosts #Omn ...
- java获取到机器IP地址及MAC码
import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.net.InetAddress; import java.ne ...
- WPF 仪表盘 刻度盘 动态 加载中 开源
1. 表盘 参数可以设置, codeproject上写的.网址在这里. 源码里有demo,很详细. 源码在这里. 2. 动态Loading 截图效果跟实际有点不一样. 自己把源码写成 资源就好用了呗 ...
- jQuery初始化加载的实现
与jQuery事件模块的其他事件不同,其他事件是通过数据缓存实现的,而初始化事件,jQuery.ready则是通过回调函数列表实现的.$()的参数如果是函数就向回调函数列表中添加回调函数,同时为DOM ...
- Dev 关于用openFileDialog控件上传图片的问题
1. OpenFileDialog控件有以下基本属性 InitialDirectory 对话框的初始目录 Filter 要在对话框中显示的文件筛选器,例如,"文本文件(*.txt)|*.tx ...
- hashmap的底层实现
HashMap的底层实现都是数组+链表结构实现的,添加.删除.获取元素都是先计算hash值,根据hash值和table.length计算出index也就是table的数组的下标,然后进行相应的操作. ...