laravel實(shí)現(xiàn)前后臺路由分離的方法
當(dāng)我們把路由寫到一個文件中時,路由顯得雜亂不堪,不利于維護(hù),這時我們需要將laravel路由進(jìn)行分離
實(shí)現(xiàn)步驟:
1、首先在app/Https/Controlles/文件下建立 Frontend(前端) Backend(后端) API(接口) 文件
2、在app/Https/建立對應(yīng)的路由文件
3、打開app/Providers/RouteServiceProvider.php 定義各個功能對應(yīng)的路由文件
代碼如下:
<?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實(shí)現(xiàn)前后臺路由分離的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
php將session放入memcached的設(shè)置方法
這篇文章主要介紹了php將session放入memcached的設(shè)置方法,需要的朋友可以參考下2014-02-02PHP 數(shù)據(jù)結(jié)構(gòu)隊列(SplQueue)和優(yōu)先隊列(SplPriorityQueue)簡單使用實(shí)例
這篇文章主要介紹了PHP 數(shù)據(jù)結(jié)構(gòu)隊列(SplQueue)和優(yōu)先隊列(SplPriorityQueue)簡單使用實(shí)例,需要的朋友可以參考下2015-05-05php DOS攻擊實(shí)現(xiàn)代碼(附如何防范)
小段php代碼實(shí)現(xiàn)DOS攻擊,有時候通過這段代碼不需要獲取服務(wù)器權(quán)限也可以作為攻擊的肉雞了,所以大家一定要注意網(wǎng)站安全2012-05-05Swoole?webSocket客服IM消息系統(tǒng)方案解析
這篇文章主要為大家介紹了Swoole?webSocket客服IM消息系統(tǒng)方案解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03PHP批量刪除、清除UTF-8文件BOM頭的代碼實(shí)例
這篇文章主要介紹了PHP批量刪除、清除UTF-8文件BOM頭的代碼實(shí)例,需要的朋友可以參考下2014-04-04Yii2 隊列 shmilyzxt/yii2-queue 簡單概述
這篇文章主要介紹了Yii2 隊列 shmilyzxt/yii2-queue 的簡單概述,需要的朋友可以參考下2017-08-08Laravel框架DB facade數(shù)據(jù)庫操作詳解
這篇文章主要介紹了Laravel框架DB facade數(shù)據(jù)庫操作,結(jié)合實(shí)例形式詳細(xì)分析了laravel數(shù)據(jù)庫基本創(chuàng)建、連接、增刪改查等操作技巧,需要的朋友可以參考下2019-12-12