Лучшая практика Laravel PageController - PullRequest
0 голосов
/ 09 мая 2018

Мне было интересно, есть ли лучшая практика для статических страниц в одном контроллере. Я думал о PageController, который обрабатывает все страницы. Как лучше всего делать это динамически? Страницы содержат только некоторый текст и HTML.

Ответы [ 2 ]

0 голосов
/ 09 мая 2018

Вы можете добиться того же по приведенному ниже коду -

Маршрут -

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

Может быть, это поможет вам

0 голосов
/ 09 мая 2018

Как правило, это личное предпочтение относительно того, куда вы хотите поместить их, в большой системе я помещу их в контроллер, где они актуальны, например. Если у меня есть TasksController и у меня есть страница с информацией о статических задачах, она будет внутри TasksController. Если это часть системы, обращенная вперед, у меня обычно есть WebsiteController, который имеет дело с чем-либо видимым для публики.

Другой потенциальный способ - перенаправить на сам маршрут, используя что-то вроде:

Route::view('/taskinfo', 'tasks.information');

Это действительно вопрос того, что лучше всего подходит для вас. Я предпочитаю первый вариант.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...