2015-07-08 35 views
5

từ đường của tôi cần phải vượt qua giá trị của $ trang để điều khiểnLumen: làm thế nào để vượt qua các thông số để điều khiển từ đường

tuyến đường:

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

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

}); 

điều khiển:

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

vượt qua nó với phương pháp điều khiển như một tham số ' index ($ page) ' – Jeemusu

+0

Tôi đã làm xong rồi! nhưng cảm ơn cho điều này tôi đã figured nó ra vấn đề thực sự với lỗi này 'Tuyên bố của App \ Http \ Controllers \ PageController :: index() nên tương thích với App \ Http \ Controllers \ Controller :: index()' – jrsalunga

Trả lời

5

Bạn có thể truyền nó như một tham số của hàm chỉ mục.

Route

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

Mặc dù con đường trông không đúng với tôi, thông thường bạn xác định con đường mà không có một dấu gạch chéo ở beggining: $app->get('show/{page}', ....

khiển

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

Trừ khi có một lý do cho việc sử dụng một đóng cửa, tuyến đường của bạn có thể được viết lại như sau, và biến {$page} sẽ tự động được truyền cho phương thức điều khiển như một tham số:

Route

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

trong trường hợp của tôi, cho thấy người sử dụng xác định, đó là khá nhiều trường hợp tương tự

tập tin tuyến đường (web.php)

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

im vẫn còn sử dụng mặt tiền

xem tập tin (users.blade.php)

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

chỉ đi một mảng để đặt tên đường và người cuối cùng trong

tập tin điều khiển (UserController.php)

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

nó được thực hiện

Các vấn đề liên quan