rak*_*ete 2 php laravel laravel-5
我的项目包括4个主要部分:
应用程序显示API的数据
API为应用提供数据
仪表板管理数据库数据(Twig,没有SPA)
网站显示数据库中的一些数字(只读)
我们应该只使用Laravel的模块库将系统拆分为:API,Dashboard,Common,Web还是有更好的想法?什么是最好的方法?
Laravel默认情况下已为您分割.只需查看路径目录,您就可以看到Web路由和api路由的单独文件,前缀为api,但您可以自己更改前缀.
您必须实际考虑的部分是仪表板/网站部分,您必须实施授权才能知道谁可以访问内容.
基本上,您只是构建一个普通的应用程序,然后您开始添加响应API路由的不同控制器,因为应用程序控制器和API控制器不会返回相同的内容.应用程序控制器主要返回视图和重定向,而api控制器主要返回JSON格式的数据.您可以将这些控制器拆分为2个不同的目录
app/Http/controllers/web/
app/Http/controllers/api/
Run Code Online (Sandbox Code Playgroud)
因此,当在工匠中生成控制器时,您会在前面添加目录
php artisan make:controller web/DashboardController
php artisan make:controller api/UserController
Run Code Online (Sandbox Code Playgroud)
等等.
总结一下:
1- API:使用routes/api.php,控制器返回JSONreturn response()->json($data);
2- 常见: web和api共享的一些帮助者,服务和中间件
3- 仪表板:身份验证+授权以限制访问.在此处使用路由组并应用中间件
Route::group(['prefix' => 'admin', 'middleware' => ['auth', 'admin']], function(){
//admin routes go in here
});
Run Code Online (Sandbox Code Playgroud)
4- Web:公共数据,只读.不需要授权.只是没有身份验证的基本页面.
| 归档时间: |
|
| 查看次数: |
1461 次 |
| 最近记录: |