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?
'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' –
Genau Rodrane, und provider.home ist die page_name. –