2017-05-12 4 views
0

Ich aktualisiere von Laravel 4.2 auf 5.4 und ich verstehe nicht, warum die konvertierte Route nicht für die URL funktioniert: http: // {domain} /admin/page/provider.homeLaravel 5 Route Fehler beim Arbeiten

Hier sind die relevanten Details wie es in Laravel 4.2 strukturiert wurde:

Route::filter('provider_admin', function() 
{ 
    // Specific logic to potentially redirect to a specific page 
} 

Route::group(array('prefix' => 'admin/page'), function() 
{ 
    Route::get('/{page}', array('before' => 'provider_admin', 'as' => 'admin_page', 'uses' => 'Frozennode\Administrator\[email protected]')); 
    Route::get('/{page}/{id}', array('before' => 'provider_admin', 'as' => 'admin_page', 'uses' => 'Frozennode\Administrator\[email protected]')); 
}); 

in Laravel 5.4 haben Filter verschoben Middleware, also habe ich die folgenden:

ProviderAdmin.php

namespace App\Http\Middleware; 

use Closure; 
use Illuminate\Support\Facades\Auth; 

class ProviderAdmin 
{ 
    /** 
    * Handle an incoming request. 
    * 
    * @param \Illuminate\Http\Request $request 
    * @param \Closure $next 
    * @param string|null $guard 
    * @return mixed 
    */ 
    public function handle($request, Closure $next, $guard = null) 
    { 
     // Specific logic to potentially redirect to a specific page 
     return $next($request); 
    } 
} 

Innen web.php

// Route::middleware('provider_admin')->prefix('admin/page')->group(function() 
Route::group(['prefix' => 'admin/page', 'middleware' => 'provider_admin'], function() { 
{ 
    Route::get('{page}', ['as' => 'admin_page', 'uses' => '\Frozennode\Administrator\[email protected]' ]); 
    Route::get('{page}/{id}', ['as' => 'admin_page', 'uses' => '\Frozennode\Administrator\[email protected]' ]); 
    die('ROUTE NOT FOUND'); 
}); 

kernel.php

'provider_admin' => \App\Http\Middleware\ProviderAdmin::class, 

Die Anforderung tritt in die Gruppe, aber anders als in Laravel 4.2, ist es nicht die Middleware eingeben, sondern endet mit ‚ROUTE NICHT GEFUNDEN'. Welche andere grundlegende Frage fehlt mir, die anscheinend in Laravel 5 Routing eingeführt wurde?

+0

'Strecke :: Gruppe (array ('Präfix' => 'admin/Seite'), Funktion()' bedeutet, dass Ihre URL ist wie 'localhost/admin/page/page_name' und' localhost/admin/page/page_name/1' Ich bin nicht genau sicher, was Sie hier tun 'http: // {domain}/admin/page/provider.home' –

+0

Genau Rodrane, und provider.home ist die page_name. –

Antwort

0
try this 



Route::group(['prefix' => 'admin/page', 'middleware' => 'provider_admin'], function() { 
    { 
     Route::get('{page}','\Frozennode\Administrator\[email protected]')->name('admin_page'); 
     Route::get('{page}/{id}','\Frozennode\Administrator\[email protected]')->name('admin_page_by_id'); 
     die('ROUTE NOT FOUND'); 
    }); 
+0

Geht immer noch nicht in den Middleware-Handler, danke für den Versuch, ich denke, dass es mit dem Frozennode/Administrator-Paket, das ich verwende, zu tun haben könnte, obwohl ich offensichtlich nicht herausfinden kann, warum. –