ThinkPHP安装和设置


Posted in PHP onJuly 27, 2015

前提:此教程适用于ThinkPHP 3.2+

今天起的以后几天,将放出ThinkPHP的系列教程,一共七篇,需要的同学可以自行点赞收藏。

1.安装

安装ThinkPHP的方法很多,你可以直接到ThinkPHP的官网去下载,下载完之后直接解压就可以了;或者你也可以到ThinkPHP官方维护的Git地址下载

JB51: https://3water.com/codes/10795.html

Github: https://github.com/liu21st/thinkphp

Oschina: http://git.oschina.net/liu21st/thinkphp.git

Code: https://code.csdn.net/topthink2011/ThinkPHP

当然,作为一个流行的PHP框架,你也可以直接用composer来安装:

composer create-project topthink/thinkphp your-project-name

2. 设置

上面的安装看看就可以,因为实验楼已经安装好ThinkPHP了。所以我们现在开始学习ThinkPHP第一步:设置ThinkPHP。一个框架的原始模样可能无法满足你的开发需求,但你可以通过设置来满足。在学习ThinkPHP的配置的时候,首先要明白:ThinkPHP框架中所有配置文件的定义格式都是采用返回PHP数组的方式来定义的

<?php

return array(
  'URL_ROUTER_ON'  => true,
  'URL_ROUTE_RULES'=>array(

  'blogs/:id'        => array('Index/read'),
  'article/:id'        => array('Article/show')
),
  'URL_MAP_RULES'=>array(
  'new/top' => 'Index/top?type=top'
),

  'DB_TYPE'        => 'mysql',
  'DB_HOST'        => 'localhost',
  'DB_NAME'        => 'thinkdatabase',
  'DB_USER'        => 'root',
  'DB_PWD'        => 'password',
  'DB_PORT'        => '3306',
  'DB_PREFIX'       => 'think_',

);

说明:ThinkPHP的配置参数(一级参数)是不区分大小写的,因为不管大写小写,最后都会转为小写。但是为了在编程的过程中更符合规范,建议统一使用大写来设置配置参数。上面的第一个配置URL_ROUTER_ON,我们开启了路由重写功能,为后面的URL_ROUTE_RULES奠定基础(详细的后面我们会在路由章节说到)。最后几个带DB_的设置项是表示设置连接数据库的参数,几乎每一个web应用都会用到数据库,这些设置为我们后续进一步学习的基础。

<?php

 return array(
  'USER_CONFIG'    => array(
    'USER_AUTH' => true,
    'USER_TYPE' => 2,
  ),
);

如上面的USER_CONFIG下的USER_AUTH和USER_TYPE是区分大小写的。

了解了ThinkPHP的配置格式后,我们再看看ThinkPHP的配置加载顺序,理解配置项的加载顺序在开发的时候很重要,因为在同名的配置下,后加载的配置会覆盖前面加载的顺序,而生效的只有后加载的顺序。

惯例配置->应用配置->模式配置->调试配置->状态配置->模块配置->扩展配置->动态配置

上面的顺序就是ThinkPHP的配置加载顺序,而在一般情况下,这些配置都是自动加载的。我们最常操作的是应用配置,默认的就是在Application/Common/Conf/config.php文件中。在开发的时候我们可以在这里设置自己的配置,如果你不熟悉你可以配置什么值,你可以打开ThinkPHP/Conf/convention.php文件来查看相对应的配置项

读取配置

在开发的过程中,我们有时候需要读取应用的配置值,在ThinkPHP中统一使用C('配置参数名')来读取配置。比如:

$model = C('URL_MODEL');

或者

$model = C('url_model');

这两个是等效的,都是可以读取到系统的URL访问模式的设置值,因为在ThinkPHP的配置项是不分大小写的。但是建议统一使用大写方式。

可以利用config首字母来记忆C()方法。

以上就是关于THINKPHP的安装与配置的全部内容了,希望大家能够喜欢。

PHP 相关文章推荐
PHP语法速查表
Jan 02 PHP
PHP转换IP地址到真实地址的方法详解
Jun 09 PHP
详解PHP导入导出CSV文件
Nov 03 PHP
php数组函数array_key_exists()小结
Dec 10 PHP
深入浅析用PHP实现MVC
Mar 02 PHP
PHP对称加密函数实现数据的加密解密
Oct 27 PHP
thinkPHP商城公告功能开发问题分析
Dec 01 PHP
php显示页码分页类的封装
Jun 08 PHP
深入理解PHP的远程多会话调试
Sep 21 PHP
php正确输出json数据的实例讲解
Aug 21 PHP
tp5(thinkPHP5框架)captcha验证码配置及验证操作示例
May 28 PHP
thinkphp 5框架实现登陆,登出及session登陆状态检测功能示例
Oct 10 PHP
教你在PHPStorm中配置Xdebug
Jul 27 #PHP
关于PHP开发的9条建议
Jul 27 #PHP
Laravel 中获取上一篇和下一篇数据
Jul 27 #PHP
php实现将Session写入数据库
Jul 26 #PHP
php检测文本的编码
Jul 26 #PHP
PHP中COOKIES使用示例
Jul 26 #PHP
PHP实现简单数字分页效果
Jul 26 #PHP
You might like
php的一个登录的类 [推荐]
2007/03/16 PHP
php数组总结篇(一)
2008/09/30 PHP
php调用dll的实例操作动画与代码分享
2012/08/14 PHP
PHP二维数组排序的3种方法和自定义函数分享
2014/04/09 PHP
php中spl_autoload详解
2014/10/17 PHP
PHP PDOStatement::fetch讲解
2019/01/31 PHP
安装PHP扩展时解压官方 tgz 文件后没有configure文件无法进行配置编译的问题
2020/08/26 PHP
Javascript 个人笔记(没有整理,很乱)
2007/07/07 Javascript
为指定的元素添加遮罩层的示例代码
2014/01/15 Javascript
jquery实现的图片点击滚动效果
2014/04/29 Javascript
AngularJS入门知识之MVW类框架的编程思想探讨
2014/12/08 Javascript
JS实现网页背景颜色与select框中颜色同时变化的方法
2015/02/27 Javascript
JQuery基础语法小结
2015/02/27 Javascript
微信小程序本地缓存数据增删改查实例详解
2017/05/24 Javascript
浅谈事件冒泡、事件委托、jQuery元素节点操作、滚轮事件与函数节流
2017/07/22 jQuery
ES6学习教程之对象字面量详解
2017/10/09 Javascript
jquery ajax异步提交表单数据的方法
2017/10/27 jQuery
帝国cms首页列表页实现点赞功能
2017/10/30 Javascript
微信小程序实现圆形进度条动画
2020/11/18 Javascript
vue 源码解析之虚拟Dom-render
2019/08/26 Javascript
layui 表单标签的校验方法
2019/09/04 Javascript
element跨分页操作选择详解
2020/06/29 Javascript
vue-cli3 引入 font-awesome的操作
2020/08/11 Javascript
[01:09:01]完美世界DOTA2联赛循环赛 Magma vs PXG BO2第一场 10.28
2020/10/28 DOTA
Python操作Word批量生成文章的方法
2015/07/28 Python
详解python调度框架APScheduler使用
2017/03/28 Python
python3 pandas 读取MySQL数据和插入的实例
2018/04/20 Python
python+pyqt5实现图片批量缩放工具
2019/03/18 Python
django框架创建应用操作示例
2019/09/26 Python
PyTorch中torch.tensor与torch.Tensor的区别详解
2020/05/18 Python
Java Servlet的主要功能和作用是什么
2014/02/14 面试题
大学生暑期实践感言
2014/02/26 职场文书
市级三好学生事迹材料
2014/08/27 职场文书
检讨书范文500字
2015/01/28 职场文书
发工资啦!教你用Python实现邮箱自动群发工资条
2021/05/10 Python
总结Java对象被序列化的两种方法
2021/06/30 Java/Android