2014-04-14 142 views
1

如何使用可選參數進行路由選擇,如果沒有提供參數將不會引發錯誤?Laravel 4 - 通過可選參數路由到控制器

app/routes.php看起來是這樣的:

Route::get('/{slug}', '[email protected]'); 

而且app/controllers/PageController.php

class PageController extends BaseController { 

    public $layout = 'templates.default.tpl'; 

    public function page($slug = 'front') 
    { 
     return View::make('pages.'.$slug); 
    } 

} 

所以,如果你去www.websiteurl.com/,不帶任何參數,你應該到達的默認front頁面。相反,我得到一個錯誤

Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException 

我如何告訴Laravel4,使第二個變量可選的路由?

回答

1

你應該定義你的路線,如:

Route::get('/{slug?}', '[email protected]'); 

問號告訴laravel,這個參數是可選。更多關於docs

+0

哦,我正在另一部分尋找它。謝謝 – aspirinemaga