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 ...
随机推荐
- Enable Cross-Origin Requests in Asp.Net WebApi 2[Reprint]
Browser security prevents a web page from making AJAX requests to another domain. This restriction i ...
- 关于Android中查看app安装时间等信息的问题
PackageManager packageManager=this.getPackageManager(); try { PackageInfo packageInfo=packageManager ...
- 转:PostgreSQL Cheat Sheet
PostgreSQL Cheat Sheet CREATE DATABASE CREATE DATABASE dbName; CREATE TABLE (with auto numbering int ...
- android studio 2.0 GPU Debugger使用说明
GPU Debugger GPU Debugging Tools The GPU debugging tools are an experimental feature intended to hel ...
- createjs学习二之flash转canvas学习1
设置发布 或者 导出参数设置 c_lib_main c_images_main/ 导出之后的文件 打开导出的html文件可以看到如下,,可以正常显示的,,只是stop了还不能动 给舞台上某一元素添加点 ...
- mongostat用法
mongostat是mongoDB自带的工具,用于检测mongodb的运行状态. mongostat用法 Test:Test/node-131 / # mongostat --help Usage: ...
- Nginx location 匹配顺序整理
Nginx location模块整理 具体的Nginx安装就不在这里描述了,这里只是为了对location的描述 Nginx环境 a. 查看当前系统cat /etc/redhat-release [r ...
- Linux crontab执行bash脚本
需要设置环境,bash文件的开头可以这么写 #!/bin/bash . /etc/profile . ~/.bash_profile
- Spark on Yarn:任务提交参数配置
当在YARN上运行Spark作业,每个Spark executor作为一个YARN容器运行.Spark可以使得多个Tasks在同一个容器里面运行. 以下参数配置为例子: spark-submit -- ...
- C# 控件的自定义拖动、改变大小方法
在用VS的窗体设计器时,我们可以发现控件都是可以拖动的,并且还可以调整大小.怎么在自己的程序中可以使用上述功能呢? 下面的方法值得借鉴! using System; using System.Wind ...