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

相关推荐
_MyFavorite_5 小时前
JAVA重点基础、进阶知识及易错点总结(31)设计模式基础(单例、工厂)
java·开发语言·设计模式
A.A呐5 小时前
【C++第二十三章】C++11
开发语言·c++
智算菩萨5 小时前
【Pygame】第8章 文字渲染与字体系统(支持中文字体)
开发语言·python·pygame
014-code5 小时前
Java SPI 实战:ServiceLoader 的正确打开方式(含类加载器坑)
java·开发语言
lifewange5 小时前
Go语言-开源编程语言
开发语言·后端·golang
jimy16 小时前
C语言函数指针
c语言·开发语言
白毛大侠6 小时前
深入理解 Go:用户态和内核态
开发语言·后端·golang
数据的世界016 小时前
C#4.0权威指南第12章:接口
开发语言·c#
¥-oriented6 小时前
【Python桌面应用开发环境搭建指南】
开发语言·python