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 ...
随机推荐
- Servlet中的常用类以及常用方法
A:ServletConfig:用于读取Servlet在web.xml中配置的一些信息. getServletName(); getInitParameter();只能是Servlet自身下的参数设置 ...
- 【java学习笔记】字符串和Date的转换
String dateVal = "1992-12-06 18:34:23"; SimpleDateFormat sdf = new SimpleDateFormat(" ...
- TCP协议学习笔记(一)首部以及TCP的三次握手连接四次挥手断开
TCP协议是一种面向连接的.可靠的流协议. 流即不间断的数据结构.这样能够保证接收到数据顺序与发送相同.但是犹如数据间没有间隔,因此在TCP通信中,发送端应用可以在自己所要发送的消息中设置一个标示长度 ...
- C++中为什么要将析构函数定义成虚函数
构造函数不可以是虚函数的,这个很显然,毕竟虚函数都对应一个虚函数表,虚函数表是存在对象内存空间的,如果构造函数是虚的,就需要一个虚函数表来调用,但是类还没实例化没有内存空间就没有虚函数表,这根本就是个 ...
- ubuntu 上安装字体
http://www.360doc.com/content/11/0901/23/4171006_145128703.shtml http://www.linuxidc.com/Linux/2008- ...
- 《Git教程-廖雪峰》学习笔记
一.创建版本库 ①初始化一个Git仓库:git init ②添加文件到Git仓库:1.git add<file> ; 2.git commit 二.时光机穿梭 ①查看工作区状态,文件是否 ...
- Java 多线程之单例设计模式
转载:https://segmentfault.com/a/1190000007504892 概念: Java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍两种:懒汉式单例.饿汉 ...
- asio制作使用ssl通信的证书
1,生成ca的keyopenssl genrsa -out ca.key 1024/2048 (with out password protected) openssl genrsa -des3 -o ...
- dubbo源码分析6-telnet方式的管理实现
dubbo源码分析1-reference bean创建 dubbo源码分析2-reference bean发起服务方法调用 dubbo源码分析3-service bean的创建与发布 dubbo源码分 ...
- Leetcode: Unique Substrings in Wraparound String
Consider the string s to be the infinite wraparound string of "abcdefghijklmnopqrstuvwxyz" ...