我想知道在一个控制器中是否存在静态页面的最佳实践。我想到了一个处理所有页面的PageController。动态执行此操作的最佳做法是什么?页面只包含一些文本和HTML。
答案 0 :(得分:1)
一般来说,个人喜欢你想把它们放在哪里,在一个大系统中我会把它们放在一个相关的控制器里,例如。如果我有一个TasksController并且我有一个静态任务信息页面,那么它将在TasksController中。如果它是系统的前向部分我通常有一个WebsiteController,它处理公众可见的任何事情。
另一种可能的方法是使用以下内容重定向路线:
Route::view('/taskinfo', 'tasks.information');
这真的是最适合你的问题。我更喜欢第一种选择。
答案 1 :(得分:1)
您可以在下面的代码中实现相同的目标 -
路线 -
Route::get('/information/{id}','InformationController@show');
控制器功能 -
public function show($id,Request $request)
{
$data = array();
$static_page_names = ['static1','static2']; //array that contains all static pages name
if(in_array($id, $static_page_names)){
//static page code here
return view('/pages/static_page_template',$data);
}else{
//dynamic code here
return view('/pages/dynamic_page_template',$data);
}
}
您可以从浏览器访问该页面,如
website-url/information/id or website/information/static-page-name
可能会对你有所帮助