2016-07-11 1 views
1

SEOのスラッグで基本的なCMSを構築していますので、スラッグを取得するためにルートの最後にキャッチが必要です。だから私のルートの最後に私が追加したファイル:私は、独自のルートを持っている、Laravel File Managerを追加するまで、正常に動作しますLaravelの最後のルートとしてキャッチオールルートを設定するには

Route::get('/{page?}', ['as' => 'Page', 'middleware' => 'web', 'uses' => '[email protected]']); 

。これらのルートは、の後にと追加され、私のメインルートファイル内のすべてのルートが追加されます。だから、私のキャッチオールは、ファイルマネージャのために何かをピックアップします。

キャッチオールを実行する前に、他のベンダーのフォルダを含む他のすべてのルートをロードするにはどうすればよいですか?経路がlaravel-filemanagerという接頭辞の接頭辞と一致しないようにする方法がありますか?私はLaravelのドキュメントやGoogleでこれについて何かを見つけることができませんでした。ここで要求されたよう

は私のアプリのプロバイダーです:

単に
'providers' => [ 

    /* 
    * Laravel Framework Service Providers... 
    */ 
    Illuminate\Auth\AuthServiceProvider::class, 
    Illuminate\Broadcasting\BroadcastServiceProvider::class, 
    Illuminate\Bus\BusServiceProvider::class, 
    Illuminate\Cache\CacheServiceProvider::class, 
    Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class, 
    Illuminate\Cookie\CookieServiceProvider::class, 
    Illuminate\Database\DatabaseServiceProvider::class, 
    Illuminate\Encryption\EncryptionServiceProvider::class, 
    Illuminate\Filesystem\FilesystemServiceProvider::class, 
    Illuminate\Foundation\Providers\FoundationServiceProvider::class, 
    Illuminate\Hashing\HashServiceProvider::class, 
    Illuminate\Mail\MailServiceProvider::class, 
    Illuminate\Pagination\PaginationServiceProvider::class, 
    Illuminate\Pipeline\PipelineServiceProvider::class, 
    Illuminate\Queue\QueueServiceProvider::class, 
    Illuminate\Redis\RedisServiceProvider::class, 
    Illuminate\Auth\Passwords\PasswordResetServiceProvider::class, 
    Illuminate\Session\SessionServiceProvider::class, 
    Illuminate\Translation\TranslationServiceProvider::class, 
    Illuminate\Validation\ValidationServiceProvider::class, 
    Illuminate\View\ViewServiceProvider::class, 

    /* 
    * Application Service Providers... 
    */ 
    App\Providers\AppServiceProvider::class, 
    App\Providers\AuthServiceProvider::class, 
    App\Providers\EventServiceProvider::class, 
    App\Providers\RouteServiceProvider::class, 

    Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class, 
    Caffeinated\Modules\ModulesServiceProvider::class, 
    Intervention\Image\ImageServiceProvider::class, 
    Spatie\Activitylog\ActivitylogServiceProvider::class, 
    Spatie\Permission\PermissionServiceProvider::class, 
    Unisharp\Ckeditor\ServiceProvider::class, 
    Unisharp\Laravelfilemanager\LaravelFilemanagerServiceProvider::class, 

], 
+0

あなたはアプリプロバイダをリストできますか? 1つの解決策は、ルートサービスプロバイダの前にファイルマネージャサービスプロバイダをリストすることです –

+0

@GeorgeGarchagudashvili私は自分のアプリケーションプロバイダを追加しました。ファイルマネージャは最後のものです。 – Styphon

答えて

3

このようapp.phpで、サービスプロバイダの順序を変更してみてください:私は常にリストの最後にRouteServiceProviderを書く

とにかく
'providers' => [ 

    /* 
    * Laravel Framework Service Providers... 
    */ 

    Unisharp\Laravelfilemanager\LaravelFilemanagerServiceProvider::class, 
    ... 
    App\Providers\RouteServiceProvider::class, 
    ... 

], 

、特別なケースでない場合

+0

ありがとうございました。プロバイダの順番が経路がロードされる順序に影響を与えたことに気付かなかった。 – Styphon

+0

ようこそ、あなたを助けてうれしい。 laravelは大きいので、あなたはその事件の問題があるまですべてを理解することはできません;)) –

関連する問題