LLEARNING NOTES

技术 · 思考 · 实践 · 成长

首页/ThinkPHP8/正文

ThinkPHP8安装部署

ThinkPHP87 次阅读

环境硬性要求:**PHP >= 8.0**,推荐 PHP8.1 / 8.2,必须装 Composer,MySQL 5.7+/8.0

官方手册:[https://doc.thinkphp.cn/v8_0/](https://doc.thinkphp.cn/v8_0/)


一、创建ThinkPHP8项目

composer create-project topthink/think www.mytp8.com
cd www.mytp8.com
php think run

访问 http://127.0.0.1:8000 看到欢迎页即成功ThinkPHP

创建一个前后台管理:前台index  后台 admin

1、开启多应用,安装多应用扩展

composer require topthink/think-multi-app

2、创建控制器命令

# 创建前台 Index 控制器
php think make:controller index@Index
# 创建后台 Admin 控制器
php think make:controller admin@Index

生成目录结构:

app
├── index/                # 前台应用
│   └── controller/
│       └── Index.php
├── admin/                # 后台应用
│   └── controller/
│       └── Index.php

3、多应用路由

路由目录:route/,多应用会自动识别应用路由文件:

route/index.php  前台路由
route/admin.php 后台路由
route/admin.php(后台路由)
<?php
use think\facade\Route;
// 后台首页
Route::get('admin/index', 'Index/index');

访问地址

后台:http://127.0.0.1:8000/admin/index

路由分组小技巧(后台统一加前缀,方便后面加登录鉴权中间件)

// route/admin.php
Route::group('admin', function () {
    Route::get('index', 'Index/index');
});


4. 后台核心需求:登录鉴权中间件(重点)

后台所有接口都要校验登录状态,我们新建一个后台登录中间件

php think make:middleware AdminAuth


生成:`app/middleware/AdminAuth.php`

<?php
namespace app\middleware;
class AdminAuth
{
    public function handle($request, \Closure $next)
    {
        $token = $request->header('token');
        if (empty($token)) {
            return json(['code' => 401, 'msg' => '未登录,请先登录']);
        }
        // 这里写校验token逻辑,校验通过放行
        return $next($request);
    }
}

然后给后台路由**绑定中间件**

// route/admin.php
Route::group('admin', function () {
    Route::get('index', 'Index/index');
})->middleware(\app\middleware\AdminAuth::class);


学会在学习中寻找乐趣,学会乐在其中并保持热情

评论交流

理性讨论,共同进步
验证码

相关文章

继续阅读