2017-07-27 6 views
0

Dies ist meine RouteServiceProvider, die ich zum Erstellen mehrerer Routen Dateien geändert habe.Erstellen Sie mehrere Dateien zu verschiedenen Routen in Laravel 5.4

namespace App\Providers; 

use Illuminate\Routing\Router; 
use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider; 

class RouteServiceProvider extends ServiceProvider { 

    /** 
    * This namespace is applied to your controller routes. 
    * 
    * 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. 
    * 
    * @return void 
    */ 
    public function boot(Router $router) { 
     // 

     parent::boot($router); 
    } 

    /** 
    * Define the routes for the application. 
    * 
    * @return void 
    */ 
    public function map(Router $router) { 
     $this->mapApiRoutes($router); 

     $this->mapWebRoutes($router); 

     // 
    } 

    /** 
    * Define the "web" routes for the application. 
    * 
    * These routes all receive session state, CSRF protection, etc. 
    * 
    * @return void 
    */ 
    protected function mapWebRoutes($router) { 
     $router->group(['namespace' => $this->namespace, 'middleware' => 'web'], function ($router) { 
      foreach (glob(app_path('Http/Routes/Web/*.php')) as $eachRoute) { 
       require $eachRoute; 
      } 
     }); 
    } 

    /** 
    * Define the "api" routes for the application. 
    * 
    * These routes are typically stateless. 
    * 
    * @return void 
    */ 
    protected function mapApiRoutes($router) { 
     $router->group(['prefix' => 'api', 'namespace' => $this->namespace, 'middleware' => 'api'], function ($router) { 
      foreach (glob(app_path('Http/Routes/Api/*.php')) as $eachRoute) { 
       require $eachRoute; 
      } 
     }); 
    } 
} 
+0

Sorry, i für diese nicht erwähnte Fehler, im Grunde ist sie nicht in der Lage Boot-Methode außer Kraft zu setzen, da in Laravel 5.4, Es ist keine Router-Klasse, die mehrere Routen im gleichen Verzeichnis wie Laravel 5.1 erstellt – Harry

Antwort

0

Öffnen Sie Ihre RouteServiceProvider

Verwendung Illuminate \ Routing \ Router; Anweisung oben in der Datei.

Dies ist nur für Webrouten, Sie können auch für API erstellen, müssen Sie Verzeichnis erstellen, um es zu unterscheiden.

und schließlich:

geschützte Funktion mapWebRoutes ($ Router) {

$router->group(['namespace' => $this->namespace], function ($router) { 

     foreach (glob(base_path('routes/web/*.php')) as $eachRoute) { 
      require $eachRoute; 
     } 
    }); 
} 
Verwandte Themen