Php 流明更改url
我在内腔框架内的一个建筑工地上工作。 我的问题是路线问题。它像现在一样工作,但我希望URL看起来更好 代码: routes.phpPhp 流明更改url,php,lumen,Php,Lumen,我在内腔框架内的一个建筑工地上工作。 我的问题是路线问题。它像现在一样工作,但我希望URL看起来更好 代码: routes.php $app->get('/work/{id}', 'WorkController@getWork'); WorkController.php public function getWork($id) { $project = DB::select("SELECT * FROM projects where id = $id"); return
$app->get('/work/{id}', 'WorkController@getWork');
WorkController.php
public function getWork($id) {
$project = DB::select("SELECT * FROM projects where id = $id");
return view('work.index')->with('project', $project);
}
这是一个类似公文包的网站,我想通过它的id获得一个特定的db帖子。
但我希望URL看起来更好。现在url看起来像:
www.site.com/work/2
其中2是id。例如,我如何使用db posts title字段作为url?您可以在项目表的每一行中存储一个urltitle列。这将保存项目的字符串标识符。例如,可以将项目标题转换为小写,并用短划线替换每个空格。(您还必须处理特殊字符)
您的路线如下所示:
$app->get('/work/{urltitle}', 'WorkController@getWork');
public function getWork($urltitle) {
$project = DB::select("SELECT * FROM projects where urltitle = $urltitle");
return view('work.index')->with('project', $project);
}
您的查询如下所示:
$app->get('/work/{urltitle}', 'WorkController@getWork');
public function getWork($urltitle) {
$project = DB::select("SELECT * FROM projects where urltitle = $urltitle");
return view('work.index')->with('project', $project);
}
新url的一个例子是www.mysite.com/work/my first project
希望能有所帮助。谢谢!我知道,我只是觉得它足够干净。我想在不添加额外字段的情况下实现同样的效果。我想使用现有的字段,并以某种方式在php中解析它。这意味着您必须对每个请求进行某种额外的计算。例如,您可以使用mysql字符串函数动态执行我的建议,但这会降低查询速度。您还必须在用户每次加载页面时生成链接。存储uri段并对其进行查询要简单得多。除非有特殊原因你不能做。我认为额外的列是最干净的选择。