gpt4 book ai didi

php - 如何使用 API/Frontend/etc 构建 Laravel 系统

转载 作者:行者123 更新时间:2023-12-03 23:31:17 24 4
gpt4 key购买 nike

我当前的项目包括 4 个主要部分:

App 显示来自 API 的数据

API 为应用提供数据

Dashboard 管理数据库的数据(Twig,无SPA)

网站 显示数据库中的一些数字(只读)

我们应该只使用 Laravel 的模块库将系统拆分为:API、Dashboard、Common、Web 还是有更好的想法?什么是最好的方法?

最佳答案

默认情况下,Laravel 已经为您拆分。只要查看 routes 目录,您就会看到 web 路由和 api 路由有单独的文件,前缀为 api,尽管您可以自己更改前缀。

您实际需要考虑最多的部分是仪表板/网站部分,您必须在其中实现授权以了解谁可以访问什么。

基本上,您只是在构建一个普通的应用程序,然后您开始添加不同的 Controller 来响应 API 路由,因为应用程序 Controller 和 API Controller 不会返回相同的东西。应用程序 Controller 主要返回 View 和重定向,而 api Controller 主要返回 JSON 格式的数据。您可以像这样将这些 Controller 分成 2 个不同的目录

app/Http/controllers/web/ 
app/Http/controllers/api/

所以当在 artisan 中生成 Controller 时,你会在目录前面添加

php artisan make:controller web/DashboardController
php artisan make:controller api/UserController

等等。

总结一下:

1- API: 使用routes/api.php, Controller 返回JSON return response()->json($data);

2- Common: web & api共享的一些helpers、services & middleware

3- 仪表板:身份验证+授权以限制访问。在这里使用路由组并应用中间件

Route::group(['prefix' => 'admin', 'middleware' => ['auth', 'admin']], function(){
//admin routes go in here
});

4- Web: 公共(public)数据,只读。不需要授权。只是没有身份验证的基本页面。

关于php - 如何使用 API/Frontend/etc 构建 Laravel 系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42541878/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com