用 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

相关推荐
用户63497659476974 小时前
ElasticKit:PHP Elasticsearch 查询构建器
php
狗凯之家源码网5 小时前
多语言企鹅养殖投资返利系统 自定义产品配置 一键部署源码
前端·架构·php
2401_868534785 小时前
防火墙的具体概念
服务器·网络·php
withoutfear6 小时前
Fastadmin中获取IP和手机号归属地信息
php·thinkphp·fastadmin·ip归属地·手机号归属地
dog2506 小时前
从扩张性看 AWS RNG 为何优于传统胖树
云计算·php·aws
chushiyunen6 小时前
php包管理工具composer笔记
笔记·php·composer
chushiyunen7 小时前
php笔记、下载安装等
开发语言·笔记·php
Johnstons7 小时前
如何精确模拟网络丢包进行测试?实测指南
开发语言·网络·php·网络测试·网络损伤·弱网模拟
catchadmin1 天前
PHP 应用 security.txt 漏洞披露实践
开发语言·php