PHP教程006:ThinkPHP项目入门

文章目录

  • 4、ThinkPHP项目入门
    • [4.1 创建项目](#4.1 创建项目)
      • [4.1.1 使用composer创建项目](#4.1.1 使用composer创建项目)
      • [4.1.2 启动项目(验证是否成功)](#4.1.2 启动项目(验证是否成功))
    • [4.2 创建第一个控制器](#4.2 创建第一个控制器)
      • [4.2.1 快速生成控制器](#4.2.1 快速生成控制器)
      • [4.2.2 编写代码](#4.2.2 编写代码)
    • [4.3 定义路由](#4.3 定义路由)

4、ThinkPHP项目入门

4.1 创建项目

4.1.1 使用composer创建项目

打开你的终端(CMD、PowerShell 或 Git Bash),进入你想存放代码的文件夹(例如 D:\Code),输入以下命令:

bash 复制代码
composer create-project topthink/think teamflow
  • topthink/think:这是 ThinkPHP 的官方骨架包。
  • teamflow:这是你的项目名称,Composer 会自动创建一个同名文件夹。

安装过程可能出现最经典的 Composer 仓库优先级冲突 问题:

解决方案:

  1. 强制统一镜像源(最推荐):直接把项目配置为只使用阿里云镜像,排除干扰。在项目根目录下运行:

    bash 复制代码
    composer config repo.packagist composer https://mirrors.aliyun.com/composer/
  2. 清理并重新安装

    bash 复制代码
    composer clear-cache
    composer update
  3. 如果还不行,可以修改项目目录下的composer.json,删掉下面:

    json 复制代码
    // ❌ 删除这个
    "repositories": [{
        "name": "packagist",
        "type": "composer",
        "url": "https://mirrors.aliyun.com/composer/"
    }]

4.1.2 启动项目(验证是否成功)

进入项目目录并启动 TP 内置的服务器:

bash 复制代码
cd teamflow
php think run

打开浏览器访问该地址:http://127.0.0.1:8000/

4.2 创建第一个控制器

4.2.1 快速生成控制器

在项目根目录打开终端,输入以下命令:

bash 复制代码
php think make:controller Hello

提示 :这个命令会自动在 app/controller 目录下创建一个 Hello.php 文件。手动创建也可以,但命令生成会自动帮你写好 namespace(命名空间)。

4.2.2 编写代码

打开 app/controller/Hello.php,修改为以下代码:

php 复制代码
<?php
namespace app\controller;

use app\BaseController;

class Hello extends BaseController
{
    public function index()
    {
        return json([
            'code' => 200,
            'msg'  => 'Hello ThinkPHP 8!',
            'data' => [
                'time' => date('Y-m-d H:i:s'),
                'tips' => '你的第一个 API 接口已就绪'
            ]
        ]);
    }
}

4.3 定义路由

打开 route/app.php,添加一行:

php 复制代码
use think\facade\Route;

// 当访问 http://127.0.0.1:8000/hello 时,执行 Hello 控制器的 index 方法
Route::get('hello', 'Hello/index');

打开浏览器访问:http://127.0.0.1:8000/hello

相关推荐
范范@几秒前
python基础-for循环和列表
开发语言·python
源远流长jerry8 分钟前
Linux 网络虚拟化深度解析:从 veth 设备对到容器网络实战
linux·运维·服务器·网络·性能优化·php
小白学大数据10 分钟前
Python 爬虫动态 JS 渲染与无头浏览器实战选型指南
开发语言·javascript·爬虫·python
朔北之忘 Clancy12 分钟前
2026 年 3 月青少年软编等考 C 语言一级真题解析
c语言·开发语言·c++·学习·青少年编程·题解·一级
佳xuan20 分钟前
模型训练之爬取数据
开发语言·python
之歆26 分钟前
DAY_10 JavaScript 深度解析:原型链 · 引用类型 · 内置对象 · 数组方法全攻略(上)
开发语言·javascript·ecmascript
zmzb010328 分钟前
Python课后习题训练记录Day122
开发语言·python
陳土37 分钟前
R语言jiebaR包使用摘要
开发语言·r语言
Evand J38 分钟前
【MATLAB】多无人机编队协同控制与三维航迹规划仿真。障碍物斥力避障,输出编队误差、控制输入、三维轨迹等
开发语言·matlab·无人机
froginwe111 小时前
jQuery UI 小部件方法调用
开发语言