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>