laravel框架怎样实现前后端分离路由?
Admin 2021-06-01 群英技术资讯 1085 次浏览
laravel框架怎样实现前后端分离路由?如果我们将路由全部写在一个文件,无疑会显得路由杂乱不堪,也不利于维护。因此我们需要对laravel路由分离。下面是实现步骤:
实现步骤:
1、首先在app/Https/Controlles/文件下建立 Frontend(前端) Backend(后端) API(接口) 文件
2、在app/Https/建立对应的路由文件
3、打开app/Providers/RouteServiceProvider.php 定义各个功能对应的路由文件
代码如下:
<?php namespace App\Providers; use Illuminate\Routing\Router; use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider; class RouteServiceProvider extends ServiceProvider { /** * This namespace is applied to the controller routes in your routes file. * * In addition, it is set as the URL generator's root namespace. * * @var string */ protected $namespace = 'App\Http\Controllers'; protected $backendNamespace; protected $frontendNamespace; protected $apiNamespace; protected $currentDomain; /** * Define your route model bindings, pattern filters, etc. * * @param \Illuminate\Routing\Router $router * @return void */ public function boot(Router $router) { // $this->backendNamespace = 'App\Http\Controllers\Backend'; $this->frontendNamespace = 'App\Http\Controllers\Frontend'; $this->apiNamespace = 'App\Http\Controllers\API'; // $this->currentDomain = $this->app->request->server->get('HTTP_HOST'); $this->currentDomain = isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : ""; parent::boot($router); } /** * Define the routes for the application. * * @param \Illuminate\Routing\Router $router * @return void */ public function map(Router $router) { // $router->group(['namespace' => $this->namespace], function ($router) { // require app_path('Http/routes.php'); // }); $backendUrl = config('route.backend_url'); $frontendUrl = config('route.frontend_url'); $apiUrl = config('route.api_url'); switch ($this->currentDomain) { case $apiUrl: // API路由 $router->group([ 'domain' => $apiUrl, 'namespace' => $this->apiNamespace], function ($router) { require app_path('Http/routes-api.php'); } ); break; case $backendUrl: // 后端路由 $router->group([ 'domain' => $backendUrl, 'namespace' => $this->backendNamespace], function ($router) { require app_path('Http/routes-backend.php'); } ); break; default: // 前端路由 $router->group([ 'domain' => $frontendUrl, 'namespace' => $this->frontendNamespace], function ($router) { require app_path('Http/routes-frontend.php'); } ); break; } } }
此时只需要在不同的控制器中建立路由就 Ok了。
关于怎实现laravel前后端分离路由的介绍就到这,有需要的朋友可以参考上述代码,希望本文能对大家有帮助。如果还想要了解更多laravel框架的路由内容,大家可以关注其他相关文章。
文本转载自脚本之家
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
今天小编就为大家分享一篇laravel 操作数据库常用函数的返回值方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
本节介绍的是 PHP5 的 Calendar 函数,它是用来支持日历的。有不少朋友对此感兴趣,下面小编给大家整理和分享了相关知识和资料,易于大家学习和理解,有需要的朋友可以借鉴参考,下面我们一起来了解一下吧。
在laravel中,因为配置解析时项目根目录没有指向public目录,所以会出现项目报403错误;只需在项目目录中将运行目录或根目录的路径设置为public目录即可解决报403错误。
php CodeIgniter框架的作用:1、是一个基于MVC框架的PHP开源轻量级框架,适合快速开发,为 PHP 程序员建立功能完善的 Web 应用程序;2、优点,框架配置简单,执行效率高,有基本的路由功能,能够进行一定程度的路由。
php桥接模式的作用:1、桥接模式分离抽象接口及其实现部分,实现解耦,比继承更好的解决方案。2、便于扩展,桥接模式比继承更灵活,在减少创建类的同时也便于组合。3、桥接模式可用于两个独立变化维度。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008