6.0
版本基于PHP7.1
版本开发,所以你的PHP运行环境必须是PHP7.1+
(注意有时候你的命令行和WEB的PHP版本是不同的),最新版本已经兼容PHP8.0
。
新版必须使用
composer
安装,因为6.0
完全依赖composer
使用,如果你通过git下载安装将不能正常使用。如果你使用composer
安装ThinkPHP过程特别慢,请使用阿里云镜像或者科学上网。
对于新手而言,推荐的安装方式是
composer create-project topthink/think tp
系统会自动为你生成一个项目所需要的目录架构和需要的文件。
记住,无论如何,不要在项目里面修改核心框架目录下的任何文件,除了vendor
目录之外的其它目录都属于你的项目代码,可以随意修改。
安装完成之后,进入cmd
控制台,使用内置指令启动服务。
cd tp
php think run
现在你可以开始你的TP6开发之旅了。
在浏览器里面输入
http://localhost:8000
就会看到熟悉的欢迎页面(并显示当前安装的版本号)
如果需要更改默认端口,可以使用
php think run -p 80
请确保端口没有被占用。
该指令仅供学习和测试过程使用(免去安装WEB服务器的麻烦),不建议用于正式上线部署。
目录结构
默认安装后的目录结构如下:
www WEB部署目录(或者子目录)
├─app 应用目录
│ ├─controller 控制器目录
│ ├─common.php 公共函数文件
│ ├─event.php 事件定义文件
│ ├─ExceptionHandle.php应用异常处理类
│ ├─middleware.php 全局中间件定义文件
│ ├─provider.php 容器绑定定义文件
│ └─Request.php 应用请求对象类
│
├─config 配置目录
│ ├─app.php 应用配置
│ ├─cache.php 缓存配置
│ ├─console.php 控制台配置
│ ├─cookie.php Cookie配置
│ ├─database.php 数据库配置
│ ├─filesystem.php 文件磁盘配置
│ ├─lang.php 多语言配置
│ ├─log.php 日志配置
│ ├─middleware.php 中间件配置
│ ├─route.php URL和路由配置
│ ├─session.php Session配置
│ ├─trace.php Trace配置
│ └─view.php 视图配置
│
├─view 视图目录
├─route 路由定义目录
│ ├─route.php 路由定义文件
│ └─ ...
│
├─public WEB目录(对外访问目录)
│ ├─index.php 入口文件
│ ├─router.php 快速测试文件
│ └─.htaccess 用于apache的重写
│
├─extend 扩展类库目录
├─runtime 应用的运行时目录(可写,可定制)
├─vendor 第三方类库目录(Composer依赖库)
├─.example.env 环境变量示例定义文件(参考)
├─composer.json composer 定义文件
├─LICENSE.txt 授权说明文件
├─README.md README 文件
├─think 命令行入口文件
系统生成的目录结构是经过精心设计的,没有必要做任何的调整,包括入口文件位置。所以确保你的WEB目录指向public
目录而不是应用根目录。
app
目录名对应的同时也是应用的根命名空间(而且不能更改),并且按照PSR-4
规范进行应用类库的自动加载。
对于系统的缓存目录、日志目录和Session
目录都是可以自定义的,但没有必要自定义runtime
目录。
所以,在你对应用的目录结构进行更改之前,请确认你是否需要这么做,以及你明确知道相应的后果。
调试模式
默认安装后使用的是部署模式,开发过程中应当开启调试模式,便于调试问题。
把应用根目录下的.example.env
文件重命名为.env
文件,这是用于本地开发的环境变量定义文件。
该文件默认已经开启了调试模式(确认是否包含下面一行环境变量定义)。
APP_DEBUG = TRUE;
ThinkPHP6.0
版本是不支持通过配置参数开启调试模式,在提交版本库的时候会自动忽略.env
文件,这样服务器部署后的代码就是部署模式。
新版默认安装会安装symfony/var-dumper
库,因此你会看到不同以往样式的dump
输出,并且可以使用其自带的dd
输出并终止执行函数。
如果不喜欢这个调试输出的风格,可以直接卸载这个扩展而不会有任何的影响,并且依然可以使用dump
函数。
composer remove symfony/var-dumper