2014-04-14 114 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