I am looking at switching to laravel for my next project.

我的下一个项目可能会是一个小网站,有几个静电页面,一个博客和一个项目经理,并且将使用控制器,而不是路由.

我好奇的是,我如何在拉维尔管理动态路由.

基本上,我想在一个管理部分,这样我就可以很容易地创建静电上的飞翔页面,静电页面将有搜索引擎优化重点的网址,例如http://domain.com/when-it-started我不想不得不创建一个新的控制器或手动 for each 页面路由.

所以我想知道最干净的处理方法是什么.

essentially all static pages are going to share the same view, just a few variables to change.

动态路由应该在控制器上工作,而不是在控制器上.

例如,如果我们有一个带有功能staff的控制器about,那么它应该通过http://domain.com/about/staff加载

but we dont have the function players, so a call to http://domain.com/about/players should check the database to see if a dynamic route exists and matches. If it does display that, otherwise show the 404 page. Likewise for a non-existant controller. (e.g. there would not be a when-it-started controller!)

Select 的答案在Laravel 4中似乎不起作用.有什么帮助吗?

推荐答案

对于Laravel 4,执行此操作

Route::get('{slug}', function($slug) {
    $page = Page::where('slug', '=', $slug)->first();

    if ( is_null($page) )
        // use either one of the two lines below. I prefer the second now
        // return Event::first('404');
        App::abort(404);

    return View::make('pages.show', array('page' => $page));
});

// for controllers and views
Route::get('{page}', array('as' => 'pages.show', 'uses' => 'PageController@show'));

Laravel相关问答推荐

Laravel模型嵌入嵌套模型时只附加属性

从8.0更新到10.0后,图像不再上传到存储

Dompdf 古吉拉特语和印地语文本未正确显示

Laravel REST API:如何将数据库列名与参数的另一个名称映射?

如何返回Blade Laravel 中的按钮?

如何在 laravel livewire 中按 bool 值排序数组

使用 Laravel 计算页面浏览量

Laravel Eloquent - 随叫随到的加密/解密数据

Laravel中具有两个外键字段的数据库一对多

如何在 Laravel 4 中使用没有 id 的 Eloquent 更新数据

链接到容器时如何使用主机网络?

localhost 和stream_socket_enable_crypto():SSL 操作失败,代码为 1

Laravel Passport Route [login] 未定义

laravel 5 - assets资源 list 中未定义 css 文件?

导航栏品牌中的 Laravel 动态页面标题

如何在 Laravel 5 中验证当前、新密码和新密码确认?

Composer 致命错误:声明 Fxp... 必须与第 334 行的 ...AbstractAssetsRepository.php 兼容

laravel 5.1 在没有 VM 重启的情况下看不到作业(job)文件的更改

Laravel:在另一个控制器中加载方法而不更改 url

如何让 Laravel 将 View 的Content-Type标头返回为application/javascript?