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

相关推荐
两个人的幸福7 天前
Windows 桌面应用自研 PHP 队列(下):完整代码与六大工程化优化
php
BingoGo9 天前
PHP 泛型之殇 泛型 RFC 提案被拒绝
后端·php
JaguarJack9 天前
PHP 泛型之殇 泛型 RFC 提案被拒绝
后端·php
用户30745969820710 天前
PHP 扩展——从入门到理解
php
鹏仔先生11 天前
拷贝漫画APP下载页PHP程序,后台带免费AI写作
php
LDR00611 天前
Type-C 快充全面升级!LDR6601 赋能个人护理便携电机,重塑剃须刀 / 理发器新体验
c语言·开发语言
雪碧聊技术11 天前
Tree.js是什么?一文讲透
开发语言·javascript·ecmascript
码云数智-园园11 天前
C++20 Modules 模块详解
java·开发语言·spring
swordbob11 天前
NIO的channel中什么是 fd(File Descriptor,文件描述符)
java·开发语言·nio
源分享11 天前
Java线程同步的多种实现方法(非常详细)
java·开发语言·jvm