Laravel 4 - 使用可选参数路由到控制器

时间:2014-04-14 11:50:30

标签: php routing laravel-4

如何使用可选参数进行路由,如果没有提供参数,则不会引发错误?

我的app/routes.php看起来像这样:

Route::get('/{slug}', 'PageController@page');

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 个答案:

答案 0 :(得分:2)

您应该定义路线,如:

Route::get('/{slug?}', 'PageController@page');

Questionmark告诉laravel这个参数是可选的。更多关于docs

相关问题