HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>Реализация CRUD - самый быстрый способ познакомиться с любым веб-фреймворком. Он затрагивает все основные его части и позволяет понять насколько в этом фреймворке удобно работать.</p>
1 <p>Реализация CRUD - самый быстрый способ познакомиться с любым веб-фреймворком. Он затрагивает все основные его части и позволяет понять насколько в этом фреймворке удобно работать.</p>
2 <p>Создать CRUD в Laravel можно несколькими способами. Самый простой - добавить в файл маршрутизации нужные маршруты вместе с обработчиками. Внутри обработчиков реализовать логику вывода списка, создания, обновления и удаления статьи. Этот способ очень муторный, он требует много движений от программиста. И он быстро захламляет файл с маршрутами. Когда таких "крудов" станет хотя бы несколько штук, то ориентироваться в нем станет проблематично. А если добавить сотню другую как в реальных проектах, так вообще станет невозможно.</p>
2 <p>Создать CRUD в Laravel можно несколькими способами. Самый простой - добавить в файл маршрутизации нужные маршруты вместе с обработчиками. Внутри обработчиков реализовать логику вывода списка, создания, обновления и удаления статьи. Этот способ очень муторный, он требует много движений от программиста. И он быстро захламляет файл с маршрутами. Когда таких "крудов" станет хотя бы несколько штук, то ориентироваться в нем станет проблематично. А если добавить сотню другую как в реальных проектах, так вообще станет невозможно.</p>
3 <p>Проблема одного файла решается с помощью "контроллера". В Laravel контроллером называют класс, который расположен в директории<em>app/HTTP/Controllers</em>. Методы этого класса связываются с конкретными маршрутами и отвечают за их обработку:</p>
3 <p>Проблема одного файла решается с помощью "контроллера". В Laravel контроллером называют класс, который расположен в директории<em>app/HTTP/Controllers</em>. Методы этого класса связываются с конкретными маршрутами и отвечают за их обработку:</p>
4 <p>Методы в контроллерах принято группировать по смысловой связи. Например, все, что относится к обычным страницам на сайте можно поместить в контроллер<em>PageController</em>, а CRUD для статей - в контроллер<em>ArticleController</em>. Ниже пример структуры контроллеров из нашего открытого проекта<a>hexlet-sicp</a>:</p>
4 <p>Методы в контроллерах принято группировать по смысловой связи. Например, все, что относится к обычным страницам на сайте можно поместить в контроллер<em>PageController</em>, а CRUD для статей - в контроллер<em>ArticleController</em>. Ниже пример структуры контроллеров из нашего открытого проекта<a>hexlet-sicp</a>:</p>
5 <p>Еще одно соглашение - расположение шаблонов. Шаблоны одного контроллера лучше группировать вместе, в одной директории. В примере выше, все шаблоны страниц расположены по пути<em>resources/views/page</em>. Это позволяет удобнее ориентироваться в шаблонах и избегать коллизий имен.</p>
5 <p>Еще одно соглашение - расположение шаблонов. Шаблоны одного контроллера лучше группировать вместе, в одной директории. В примере выше, все шаблоны страниц расположены по пути<em>resources/views/page</em>. Это позволяет удобнее ориентироваться в шаблонах и избегать коллизий имен.</p>
6 <p>Контроллеры, так же как и модели, не нужно создавать руками. Их можно генерировать через<em>artisan</em>:</p>
6 <p>Контроллеры, так же как и модели, не нужно создавать руками. Их можно генерировать через<em>artisan</em>:</p>
7 <p>А вот шаблоны и методы контроллера придется добавлять самостоятельно.</p>
7 <p>А вот шаблоны и методы контроллера придется добавлять самостоятельно.</p>