ThinkPHP(TP)从入门到实战全教程,零基础快速搭建PHP Web应用

TP钱包下载 2026-08-29 阅读:559

ThinkPHP(以下简称TP)是国内普及率最高的开源PHP Web开发框架之一,自2006年发布首个版本以来,凭借极简优雅的语法风格、详尽完善的官方文档、成熟丰富的生态,以及完全贴合国内开发者使用习惯的设计思路,迅速成为中小企业、个人开发者快速搭建Web应用的首选开发工具,无论是开发博客商城、后台管理系统还是企业官网,TP都能提供标准化的开发流程,帮开发者避开大量底层重复工作,将精力聚焦在核心业务逻辑的实现上,本文将从零基础入门视角出发,系统讲解TP6框架的核心知识点与实战落地全流程,帮助读者快速上手并掌握TP开发技能。


环境准备与TP框架安装

1 本地开发环境搭建

开发TP项目前,需要先搭建PHP运行环境,对于新手来说,推荐使用集成化环境包快速搭建,比如XAMPP、WAMP或Laragon,其中XAMPP是最通用的选择:

小贴士:TP6及以上版本要求PHP版本不低于7.2.5,因此下载XAMPP时建议选择7.4或8.0以上的版本,避免出现兼容性问题。

  1. 访问XAMPP官方网站(https://www.apachefriends.org/zh_cn/index.html),根据操作系统下载对应版本的安装包;
  2. 安装时勾选Apache、MySQL、PHP模块,完成安装后启动Apache和MySQL服务,在浏览器访问http://localhost即可看到XAMPP欢迎页面,证明环境搭建成功。
  3. 安装Composer:TP框架从6.0版本开始全面支持Composer依赖管理,这是PHP生态中最主流的包管理工具。
    • Windows用户可以访问Composer中文网(https://www.phpcomposer.com/)下载安装包,安装时自动识别已安装的PHP路径即可;
    • Mac用户也可以通过Homebrew快速安装:brew install composer,无需手动指定PHP路径。
    • 安装完成后在终端输入composer -V,如果能输出Composer版本号则安装成功,国内使用Composer时建议配置阿里云镜像,加速依赖包下载:
      composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

2 TP框架的创建与初始化

TP官方提供了两种项目创建方式,适配不同使用场景:

Composer快速创建(推荐新手使用)

  1. 打开终端,进入XAMPP的htdocs目录(Windows路径一般为C:\xampp\htdocs,Mac为/Applications/XAMPP/htdocs),执行以下命令创建TP6项目:
    composer create-project topthink/think tp6-demo

    等待依赖包安装完成后,会在当前目录生成名为tp6-demo的TP项目文件夹。

  2. 进入项目目录,启动内置开发服务器:
    cd tp6-demo
    php think run

    终端会输出服务启动地址,默认是http://127.0.0.1:8000,如果8000端口被占用,可以通过php think run -p 8080更换端口,在浏览器访问该地址,如果看到TP官方欢迎页面,说明项目初始化成功。

手动下载压缩包(适配网络不佳用户)

如果无法正常使用Composer,可以直接访问ThinkPHP官网https://www.thinkphp.cn/下载最新稳定版压缩包,解压到htdocs目录后重命名为tp6-demo即可完成搭建。

3 本地项目访问配置

如果希望通过虚拟域名或子目录访问项目,可以配置Apache或Nginx的虚拟主机,以Apache为例:

  1. 打开httpd.conf文件,开启虚拟主机配置(取消#Include conf/extra/httpd-vhosts.conf前的注释);
  2. extra/httpd-vhosts.conf中添加如下配置:
    <VirtualHost *:80>
        ServerName tp6.test
        DocumentRoot "C:\xampp\htdocs\tp6-demo\public"
        <Directory "C:\xampp\htdocs\tp6-demo\public">
            Options Indexes FollowSymLinks
            AllowOverride All
            Require all granted
        </Directory>
    </VirtualHost>
  3. 最后修改本地hosts文件:
    • Windows路径:C:\Windows\System32\drivers\etc\hosts
    • Mac路径:/etc/hosts 添加一行0.0.1 tp6.test(原文此处原笔误为0.1,已修正),重启Apache后即可通过http://tp6.test访问项目。

小贴士:如果不想配置虚拟主机,也可以直接通过子目录访问,比如直接访问http://localhost/tp6-demo/public即可,不过这种方式不如虚拟域名优雅规范。


TP项目目录结构详解

TP6的项目目录结构经过优化,更加贴合现代化PHP开发规范,核心目录功能如下:

目录/文件 作用说明
app/ 业务代码核心目录,每个模块的控制器、模型、视图都存放在此,默认自带index默认模块
config/ 全局配置目录,包含数据库、路由、日志、缓存等所有框架配置文件
public/ 项目入口目录,只有此目录下的文件可以被外部直接访问,包含index.php入口文件和静态资源文件夹
route/ 路由定义目录,所有路由规则都可以在这里统一管理
vendor/ Composer安装的第三方依赖包目录,无需手动修改
runtime/ 框架运行时缓存目录,包含日志、模板缓存、配置缓存等,需要设置写入权限
.env 环境变量配置文件,用于区分开发、测试、生产环境的配置参数,推荐优先使用该文件管理配置

新手提示

  1. app/目录是开发者最常接触的部分,默认自带index模块,包含controller/(控制器)、model/(模型)、view/(视图模板)三个子目录,后续开发的业务模块也可以按照此结构扩展,比如新建admin模块用于搭建后台管理系统。
  2. runtime目录需要设置写入权限:Linux/Mac系统下执行chmod -R 775 runtime,Windows系统则右键文件夹→属性→安全,给当前用户开放完全控制权限,否则框架无法正常生成缓存和日志文件。

路由系统入门与进阶

路由是TP框架的核心功能之一,负责将用户的HTTP请求映射到对应的控制器方法中,TP6支持多种路由定义方式,兼顾灵活性和规范性。

1 基础路由配置

TP6默认关闭强制路由模式,即可以通过http://域名/控制器/操作方法直接访问,例如http://tp6.test/index/hello会直接访问app/index/controller/Index.php中的hello方法,如果需要统一管理路由规则,可以开启强制路由模式:

  1. config/route.php中修改配置:
    'app_route_multi' => false, // 关闭多请求路由
    'url_html_suffix' => '', // 取消URL后缀
    'app_route_require_domain' => false,
  2. 然后在route/app.php中定义路由规则:
    use think\facade\Route;
    // 定义GET请求路由,访问/hello时执行index控制器的hello方法
    Route::get('hello', 'index/hello');
    // 动态路由,传递id参数
    Route::get('user/:id', 'index/user');

    此时访问http://tp6.test/hello即可触发对应的控制器方法,相比直接通过控制器路径访问更规范,也更容易实现URL美化、权限拦截等扩展功能。

2 进阶路由技巧

TP6的路由系统支持丰富的扩展玩法,可以大幅提升开发效率:

  1. 路由分组:可以将一类路由放在同一个分组中,统一设置前缀、中间件等,比如后台管理路由:
    use think\facade\Route;
    // 后台路由分组,统一前缀/admin,并且绑定auth中间件做登录校验
    Route::group('admin', function () {
        Route::get('dashboard', 'admin/Index/dashboard');
        Route::get('user/list', 'admin/User/lists');
    })->middleware('auth');
  2. 资源路由:针对RESTful风格的API开发
二维码