用 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

相关推荐
小白跃升坊4 小时前
PHP2Shell:AI 两天挖出 9.2 分漏洞,让全球 70% 网站连夜打补丁!1Panel 已经把修复版本封装好,推到了你的应用商店里。
php·开源安全·1panel·ai安全·漏洞披露
Json____7 小时前
PHP 突发严重安全漏洞,AI 开始改变网络安全的攻防方式
人工智能·web安全·php·it学习·wwwoop.com
catchadmin7 小时前
PHP 8.7 协程新提案 让跨协程代码共享请求身份
开发语言·php
Web极客码8 小时前
我用 Claude 分析 Redis 哨兵日志,实现跨机房数据不一致自动对齐
数据库·redis·php
xuefeiniao9 小时前
PHP2Shell漏洞修复
运维·服务器·php
ServBay9 小时前
AI说代码没漏洞?马上被 PHP 打脸了
aigc·php·ai编程
tq108611 小时前
对PHP漏洞的思考
php
wangruofeng11 小时前
黑色十月:AI 找到的漏洞,两小时数十万次利用
人工智能·安全·php
陌陌龙14 小时前
【紧急预警!PHP 核弹级漏洞 php2shell】
开发语言·php
企业解惑小能手-域智盾系统15 小时前
内网监控软件策略不生效、日志缺失?一套从现象到根因的排查框架
开发语言·php·域智盾