laravel先后台路由分离

在laravel中建立文件放置前台和后台控制器php

找到app/providers/RouteServiceProvider.PHP文件前端

在内配置laravel

例:web

<?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 $frontendNamespace; /** * Define your route model bindings, pattern filters, etc. * * @param \Illuminate\Routing\Router $router * @return void */  
    public function boot(Router $router) { //  
        $this->frontnamespace = 'App\Http\Controllers\Front'; parent::boot($router); } /** * Define the routes for the application. * * @param \Illuminate\Routing\Router $router * @return void */  
    public function map(Router $router) { //配置路由所在文件 // $backendUrl = config('route.backend_url'); // $frontendUrl = config('route.frontend_url'); // $apiUrl = config('route.api_url'); // 
                $router->group(['namespace' => $this->namespace], function ($router) { require app_path('Http/routes.php'); }); //前台 
                $router->group(['namespace' => $this->frontnamespace], function ($router) { // 'domain' => $backendUrl, 
                    require app_path('Http/routes_front.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; } } } 

完成后咱们的路由也能够新建了  但要和上面的名称要同样api

在路由中能够这样写(固然也能够自定义路由)例:app

我的主页frontend

Route::group(['middleware' => ['web']], function () { Route::controller('/test', 'TestController'); // 重置 
    Route::get('user/password/reset/{token?}', [ 'as' => 'user.password.reset@token',  
        'uses' => 'User\PasswordController@getReset' ]); ]); 

转自woshihaiyong168的博客dom

相关文章
相关标签/搜索