Лучшая практика Laravel PageController

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

Зачем обслуживать их с большим фреймворком PHP, если они статичны? Ваш веб-сервер или крошечная кодовая база PHP для управления сеансами работает бесконечно быстрее.

Loek 09.05.2018 11:47

Вы хотите сделать это с помощью одного контроллера и маршрута?

waseem asgar 09.05.2018 11:47

Не думаю, что здесь есть лучшая практика. Нет ничего плохого в том, что PagesController обрабатывает ваши статические страницы. Если вы очень ленивы, вы также можете вернуть вид прямо из своих маршрутов.

Adrenaxus 09.05.2018 11:48

@loek только несколько страниц статичны.

Draity 09.05.2018 12:01

@waseemasgar Было бы неплохо, именно это я и имел в виду. Есть ли для этого лучшая практика?

Draity 09.05.2018 12:03

@Draity вы могли бы сделать что-то вроде этого внутри файла маршрутов: Route::view('/about', 'pages.about');

frogeyedman 09.05.2018 12:04
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
6
1 419
2

Ответы 2

Как правило, это личное предпочтение относительно того, где вы хотите их разместить, в большой системе я помещу их в контроллер, где они уместны, например. Если у меня есть 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

Может быть, это будет вам полезно

Другие вопросы по теме