用 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

相关推荐
niucloud-admin5 小时前
PHP V6 单商户常见问题——云编译报SSL证书错误的处理方案
php
计算机安禾5 小时前
【Linux从入门到精通】第31篇:防火墙漫谈——iptables与firewalld防护指南
linux·运维·php
2401_8734794010 小时前
企业安全团队如何配合公安协查?IP查询在电子取证中的技术实践
tcp/ip·安全·网络安全·php
L16247610 小时前
Win11 共享→Windows Server 访问故障总结(极简可复用)
开发语言·windows·php
niucloud-admin11 小时前
PHP V6 单商户常见问题——本地phpstudy部署,访问域名/admin 、域名/wap无法自动跳转对应首页问题
php
隔窗听雨眠13 小时前
MySQL主从延迟根因诊断法
开发语言·php
niucloud-admin14 小时前
PHP V6 单商户常见问题——运行内存太小导致的报错处理
php
nbwenren15 小时前
办公AI实测:Gemini3、GPT-4o、Claude3.5谁更强?
服务器·数据库·php
hopetomorrow15 小时前
学习路之PHP --PHP 常用扩展及作用表
开发语言·学习·php
幽络源小助理16 小时前
影视脚本分镜在线协作系统源码 PHP剧本创作平台
开发语言·php