Мне было интересно, есть ли лучшая практика для статических страниц в одном контроллере. Я подумал о PageController, который обрабатывает все страницы. Как лучше всего делать это динамически? Страницы содержат только текст и HTML.
Вы хотите сделать это с помощью одного контроллера и маршрута?
Не думаю, что здесь есть лучшая практика. Нет ничего плохого в том, что PagesController обрабатывает ваши статические страницы. Если вы очень ленивы, вы также можете вернуть вид прямо из своих маршрутов.
@loek только несколько страниц статичны.
@waseemasgar Было бы неплохо, именно это я и имел в виду. Есть ли для этого лучшая практика?
@Draity вы могли бы сделать что-то вроде этого внутри файла маршрутов: Route::view('/about', 'pages.about');






Как правило, это личное предпочтение относительно того, где вы хотите их разместить, в большой системе я помещу их в контроллер, где они уместны, например. Если у меня есть TasksController, и у меня есть страница с информацией о статических задачах, это будет в TasksController. Если это прямая часть системы, у меня обычно есть WebsiteController, который имеет дело со всем, что видно публике.
Другой потенциальный способ - перенаправить сам маршрут, используя что-то вроде:
Route::view('/taskinfo', 'tasks.information');
Это действительно вопрос того, что лучше всего работает для вас. Я предпочитаю первый вариант.
Вы можете добиться того же в приведенном ниже коде -
Маршрут -
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
Может быть, это будет вам полезно
Зачем обслуживать их с большим фреймворком PHP, если они статичны? Ваш веб-сервер или крошечная кодовая база PHP для управления сеансами работает бесконечно быстрее.