2015-07-08 13 views
5

dal mio percorso ho bisogno di passare il valore di $ pagina al controlloreLumen: come passare parametri a controller di itinerario

percorso:

$app->get('/show/{page}', function($page) use ($app) { 

    $controller = $app->make('App\Http\Controllers\PageController'); 
    return $controller->index(); 

}); 

regolatore:

public static function index(){ 

    /** how can I get the value of $page form here so i can pass it to the view **/ 

    return view('index')->with('page', $page); 

} 
+1

passaggio al metodo controllori come parametro ' indice ($ page) ' – Jeemusu

+0

l'ho già fatto! ma grazie per questo ho capito che il vero problema con questo errore 'Dichiarazione di app \ Http \ Controllers \ PageController :: index() dovrebbe essere compatibile con App \ Http \ Controllers \ Controller :: index()' – jrsalunga

risposta

5

È potrebbe passarlo come parametro della funzione indice.

percorso

$app->get('/show/{page}', function($page) use ($app) { 
    $controller = $app->make('App\Http\Controllers\PageController'); 
    return $controller->index($page); 
}); 

Anche se la strada sembra sbagliato per me, di solito si definisce il percorso senza un barra alla beggining: $app->get('show/{page}', ....

controller

public static function index($page) 
{ 
    return view('index')->with('page', $page); 
} 

A meno che non ci sia una ragione per l'utilizzo di una chiusura, il percorso potrebbe essere riscritto come sotto, e la variabile {$page} sarà automaticamente passato al metodo di controllo come parametro:

percorso

$app->get('show/{page}', [ 
    'uses' => 'App\Http\Controllers\[email protected]' 
]); 
0

nel mio caso, mostrando utente specificato, è praticamente lo stesso caso

file rotta (web.php)

Route::get('user/{id}/show', ['as'=> 'show', 'uses'=>'[email protected]']); 

im ancora utilizzando facciata

file di visualizzazione (users.blade.php)

href="{{route('show', ['id' => $user->id])}}" 

solo di passaggio una matrice per nome della rotta e l'ultima in

file di controllo (UserController.php)

public function show($id) 
    { 
     $user = User::findorfail($id)->first(); 
     return view('user', compact('user')); 
    } 

è fatto

Problemi correlati