最佳实践Laravel PageController

时间:2018-05-09 09:43:33

标签: php laravel dynamic static controller

我想知道在一个控制器中是否存在静态页面的最佳实践。我想到了一个处理所有页面的PageController。动态执行此操作的最佳做​​法是什么?页面只包含一些文本和HTML。

2 个答案:

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

可能会对你有所帮助