0 added
0 removed
Original
2026-01-01
Modified
2026-02-26
1
<p>Любой CRUD начинается со списка сущностей, представленных, как правило, в табличном виде. Для его реализации нам понадобится добавить маршрут, создать контроллер, реализовать обработчик и вывести данные в шаблоне. Еще обязательно нужны тесты и мы их обязательно добавим, но позже, когда разберемся с фреймворком.</p>
1
<p>Любой CRUD начинается со списка сущностей, представленных, как правило, в табличном виде. Для его реализации нам понадобится добавить маршрут, создать контроллер, реализовать обработчик и вывести данные в шаблоне. Еще обязательно нужны тесты и мы их обязательно добавим, но позже, когда разберемся с фреймворком.</p>
2
<p>Начнем с маршрута:</p>
2
<p>Начнем с маршрута:</p>
3
<p>Следующий шаг - сгенерировать контроллер. Контроллер создается пустым. Методы и шаблоны для них нужно добавлять самостоятельно.</p>
3
<p>Следующий шаг - сгенерировать контроллер. Контроллер создается пустым. Методы и шаблоны для них нужно добавлять самостоятельно.</p>
4
<p>Теперь добавим содержимое:</p>
4
<p>Теперь добавим содержимое:</p>
5
<p>Первой строкой из базы извлекаются статьи с учетом запрошенной страницы. Laravel автоматически определяет наличие параметра<em>page</em>в запросе и выполняет правильное смещение в SQL. Количество элементов, которые выводятся на странице равно пятнадцати. Это число можно изменить, передав нужное значение в метод paginate($perPage).</p>
5
<p>Первой строкой из базы извлекаются статьи с учетом запрошенной страницы. Laravel автоматически определяет наличие параметра<em>page</em>в запросе и выполняет правильное смещение в SQL. Количество элементов, которые выводятся на странице равно пятнадцати. Это число можно изменить, передав нужное значение в метод paginate($perPage).</p>
6
<p>Следующей строкой вызывается шаблон, в который передается коллекция статей. Функция view($path, $params) вторым параметром принимает ассоциативный массив, который затем попадает в шаблон.</p>
6
<p>Следующей строкой вызывается шаблон, в который передается коллекция статей. Функция view($path, $params) вторым параметром принимает ассоциативный массив, который затем попадает в шаблон.</p>
7
<p>Осталось добавить шаблон<em>resources/views/article/index.blade.php</em>:</p>
7
<p>Осталось добавить шаблон<em>resources/views/article/index.blade.php</em>:</p>
8
<p>Массив параметров, которые были переданы в шаблон из контроллера, превращается в набор переменных. Именами становятся ключи, а содержимым значения этих ключей в массиве. В нашем примере это $articles. Обращаться к этим переменным можно двумя способами: либо в директивах напрямую, либо через интерполяцию {{}}. Последний вариант автоматически подставит вместо переменной ее значение.</p>
8
<p>Массив параметров, которые были переданы в шаблон из контроллера, превращается в набор переменных. Именами становятся ключи, а содержимым значения этих ключей в массиве. В нашем примере это $articles. Обращаться к этим переменным можно двумя способами: либо в директивах напрямую, либо через интерполяцию {{}}. Последний вариант автоматически подставит вместо переменной ее значение.</p>
9
<p>Обход коллекции выполняется с помощью директивы @foreach, которая выглядит идентично foreach самого PHP.</p>
9
<p>Обход коллекции выполняется с помощью директивы @foreach, которая выглядит идентично foreach самого PHP.</p>
10
<p>Последний элемент в шаблоне - вывод постраничной навигации. Эту часть тоже берет на себя Laravel. Для вывода достаточно вызвать метод links() у коллекции, которую вернул метод paginate.</p>
10
<p>Последний элемент в шаблоне - вывод постраничной навигации. Эту часть тоже берет на себя Laravel. Для вывода достаточно вызвать метод links() у коллекции, которую вернул метод paginate.</p>