Разработка собственных пакетов для Laravel. Часть 2: реализация

Продолжаем создавать собственный пакет для Laravel. Первая часть урока была подготовительная. А в этом уроке мы начнем уже делать наш пакет по отображению списка новостей. Ссылка на первую часть урока - #github#laravel#cutcode --------------------------------------------------------------------------------- ❗️❗️❗️как делать сложные сайты на laravel? Это просто с cutcode! Поддерживай мой проект - 🤖🤖🤖Мой помощник Тэйлор готов выдать тебе подарок. Забирать тут - --------------------------------------------------------------------------------- ⏰ Таймкоды: 00:00 Добавление routes 04:00 “Оживление“ пакета 06:35 Добавление контроллера 08:44 Изменение view 09:33 Закрываем пакет для модификации 11:00 Публикуем пакет 12:43 Работаем с конфигами 15:10 Добавление консольных команд 17:12 Публикация и установка пакета 19:45 Работа с github 21:07 Работа с packagist 24:17 Подведение итогов Всех поклонников Laravel я приветствую на канале Cutcode! И мы с вами продолжаем погружаться в тему разработки собственных пакетов для ларавел! Давайте продолжим! Итак друзья, давайте начнем с того, что в наш сервис провайдер добавим загрузку routes. У нас простой пакет, он будет по определенному роту отображать список новостей. Поэтому начнем мы как раз с роута. Для этого давайте откроем документацию. Заодно научимся пользоваться документацией для тех у кого с этим сложности. Здесь переходим в раздел Resources - Routes. Видим чтобы добавить роуты нам необходимо скопировать эту строку. Необходим метод LoadRoutesFrom с указанием откуда именно мы будем грузить роуты. Да давайте сразу создадим директорию с роутами. Routes. И создадим файл с роутами - назовем его так же как и наш пакет - posts. И далее в serviceProvider немножко изменим и здесь вместо web у нас будет posts. Далее откроем наш Route. Возьмем web route скопируем его содержимое перенесем в наш route и немножко изменим. Урл у нас будет post. По этому урлу мы будем отображать все статьи. И далее здесь мы не welcome view отобразим, а пусть будет index. Давайте сразу создадим директорию для view. Это у нас будет так же как в Laravel приложении resource далее views. Иерархия директории и наименование не принципиально - вы можете указывать свои директории либо вообще их не использовать и здесь просто менять расположение к файлам на свои. Поэтому мне просто привычно использовать такую же иерархию как и в Laravel приложениях. Так здесь давайте добавим индекс blade давайте будет такая заглушка выводить hello world. Отлично давайте посмотрим что у нас получилось - откроем браузер обновимся, перейдем к нашим постам. Да и увидим сразу ошибку что вьюхи индекс у нас нет. А почему нет? Потому что мы в serviceProvider во-первых не загрузили никакие view. Давайте возвращаемся к документации, поднимаемся к оглавлению, переходим теперь в раздел views. И видим команду та же самая команда только load views from добавляем её и указываем путь до view. Да у нас точно такой же resources/views, а здесь указываем namespace нашего пакета. Сейчас чуть позже мы поймем для чего. Давайте укажем пост для тех кто работал с компонентами думаю вы уже поняли о чем здесь речь. Давайте теперь попробуем опять обновить. Ничего не произошло, у нас все еще ошибка. Хотя вьюхи мы подгрузили. Как так? Давайте перейдем в route, и видим что мы грузим вьюху с указанием пути index и в данном случае у нас laravel пытается найти директории resources/views - то есть в вьюхах приложения laravel, а не в нашем пакете. Для этого нам необходимо как раз указать namespace который мы здесь задали - posts. --------------------------------------------------------------------------------- 📹 делитесь этим видео с друзьями: 🔔 подпишитесь на YouTube-канал: 📼 Курс по Laravel с нуля: Разработка собственных пакетов для Laravel. Часть 2: реализация --------------------------------------------------------------------------------- 🔗 наш сайт: 📷 наш instagram: 📱 Наш telegram-канал:
Back to Top