2016-01-13 221 views
0

我有一个问题得到了stucked。为路由创建文件夹并为不同的路由定义不同的文件。像我有3种类型的用户。 admin,user1,user2。我想为路线创建3个不同的子文件夹。我seacrh谷歌和实施这一点。但它不起作用。 任何人都可以帮助我。laravel中的多路径文件5 /多个路径文件夹

感谢

<?php namespace App\Providers; 

use Illuminate\Routing\Router; 
use File; 
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'; 

    /** 
    * Define your route model bindings, pattern filters, etc. 
    * 
    * @param \Illuminate\Routing\Router $router 
    * @return void 
    */ 
    public function boot(Router $router) 
    { 
     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) 
     { 
      foreach(File::allFiles(app_path().'/Http/Routes') as $route) { 
       require_once $route->getPathname(); 
      } 
     }); 
    } 
} 
+0

你所说的“文件夹”是什么意思?您想要将路线保存在单独的文件/文件夹中?你想单独的“文件夹”的网址? –

回答

1

它可以帮助别人:

我有服务从单一的Laravel应用4子域多租户应用程序。我想保留每个子域的路由在单独的文件中。

基于公认的答案,在Laravel 5.4我修改了RouteServiceProvider.php,如下mapWebRoutes()方法:

protected function mapWebRoutes() 
{ 
    Route::group([ 
     'middleware' => 'web', 
     'domain' => 'subdomain1.yoursba.com', 
     'namespace' => $this->namespace, 
    ], function ($router) { 
     require base_path('routes/subdomain1Routes.php'); 
    }); 

    Route::group([ 
     'middleware' => 'web', 
     'domain' => 'subdomain2.yoursba.com', 
     'namespace' => $this->namespace, 
    ], function ($router) { 
     require base_path('routes/subdomain2Routes.php'); 
    }); 
}