用 Laravel 11.x 做纯API端

Laravel 11 简化了很多内容,把一些很少需要改动的内容默认隐藏起来,使整个project文件数量减少了很多,如果做纯API的话,再把前端相关的内容删除后就更简洁了。

初始化

先安装laravel installer (Installation - Laravel 11.x - The PHP Framework For Web Artisans)

创建一个project

不使用初始包,测试用Pest简化代码,初始化 git,数据库用 sqlite 方便本地开发

创建 token 模式的验证方式

安装Sanctum来管理 token (Laravel Sanctum - Laravel 11.x - The PHP Framework For Web Artisans)

运行 migrate 后User表就会加上 token字段,然后在 User model里加上HasApiTokens

创建一个 AuthController 来负责管理token

创建login, logout的方法

在 api.php 里加上路由

创建UserController 返回用户信息

创建测试

用Pest来测试,创建AuthTest.php

引入 DatabaseTransactions 就是为了保持数据库干净,测试后会自动Rollback。 token 获得后要使用 header Authorization 来进行认证。在测试过程中可以用Log::debug来打印日志,方便调试。

源码:项目概览 - hello-service - GitCode

相关推荐
fengci.13 小时前
CTF2困难部分
开发语言·网络·python·安全·php
大黄说说14 小时前
PHP 异步怎么实现?Swoole、Workerman 使用场景对比
开发语言·php·swoole
乐橙开放平台14 小时前
跨地域监控难管理?通过 GB28181 把各地海康大华乐橙摄像头注册到云端平台
开发语言·笔记·物联网·自动化·php·音视频·智能家居
广东融科数据服务有限公司14 小时前
网络监控经常卡顿、掉线、画面模糊?一线排查问答实录
开发语言·网络·php
外收内放14 小时前
ENSP学习记录(6)
开发语言·学习·php
盛世宏博北京14 小时前
档案库房恒温恒湿消毒净化一体机与3D可视化平台联动调试笔记
开发语言·php·温湿度·档案室
小徐不徐说1 天前
序列化与反序列化:把 C++ 对象可靠地保存下来
开发语言·数据库·c++·php
代龙涛1 天前
WordPress Query 查询机制详解(WP_Query)
开发语言·后端·php·wordpress
达达表哥2 天前
VIC博客全新版本 底层优化 包含新主题新插件
php·腾讯云·开源软件
vipxieliang2 天前
PHP 性能优化实战:一次线上内存泄漏与连接数打满的排查复盘
php