Куда вынести логику из controllers, commands, jobs. Лучшие практики Laravel разработчиков

Описание к видео Куда вынести логику из controllers, commands, jobs. Лучшие практики Laravel разработчиков

В этом ролике разберем куда следует выносить логику из контроллеров консольных команд и джобсов. Какие есть для этого варианты и в целом где в Laravel хранить дополнительные классы.

#controllers#laravel#cutcode
---------------------------------------------------------------------------------
🚀📹👨‍🏫 Как насчет прокачки своих навыков с помощью наших обучающих видеокурсов по web-разработке? Переходи на мой сайт 👇
https://learn.cutcode.dev/

❗️❗️❗️Присоединяйся к нашему комьюнити в телеграм - там и советом помогут и много интересного - https://t.me/laravel_chat

🤖🤖🤖Мой помощник Тэйлор готов выдать тебе подарок. Забирать тут - https://cutcode.ru/chat-bot
---------------------------------------------------------------------------------
⏰ Таймкоды:
00:00 Введение
00:35 Подход с использованием ActionClass
02:22 Люк Даунинг об ActionClass
03:25 Создание интерфейсов для ActionClass
07:52 Тестирование
08:39 Работа с моделями
09:22 Немного о трейтах
11:02 Сервис классы
12:22 Дополнительные и вспомогательные классы
13:15 ViewModels
15:02 Подведение итогов

Всех поклонников Laravel я приветствую на канале Cutcode! Сегодня мы разберем тему которую частично уже разбирали на канале, но она все еще вызывает массу вопросов - а именно куда выносить логику из контроллеров консольных команд и джобсов - какие есть для этого варианты и в целом где в Laravel хранить дополнительные классы: в каких директориях и в каком виде. Обо всем об этом, но с уклоном в экшен классы в сегодняшнем видео. Ну что же погнали!

Друзья давайте начнем с подхода с использованием action классов. Я признаюсь такой подход мне нравится больше всего. Сами action классы хранятся в директории actions вы конечно можете хранить и в любой другой директории, но так принято у Laravel разработчиков и если кто-то будет работать после вас он сразу поймёт что это за директория actions и что здесь за классы. Сами классы выглядят следующим образом - скажем возьмем CswArrayAction здесь есть всего один метод handle это тоже сделано как скажем единый паттерн чтобы всем остальным разработчикам было понятно что именно здесь происходит. И далее у нас есть контроллер Csv контроллер у которого всего один метод invoke метод где мы берем сессии файл и парсим его содержимое в массив и далее передаем во вью. Эту логику я взял просто так чтобы она здесь была, чтобы он был не пустой. На этот момент мы не обращаем внимания у нас просто есть контроллер с какой-то логикой и перед нами стоит задача перенести эту логику в отдельный слой action класс. Далее мы создаем этот экшен класс: вот он у нас здесь. Сюда мы уже перенесли всю логику далее в самом контроллере мы можем этот дубль удалить само собой и здесь с помощью сервис контейнера сделать инъекцию этого action класса CswArrayAction и далее во вью передаем data обращаемся к этому action классу и вызываем метод handle. Вот так в одну строку мы разгрузили контроллер и перенесли его логику в отдельный action класс. Но на этом мы не заканчиваем с action классами на последнем Laracon с докладом о action классах что это лучшие друзья laravel разработчика выступал Люк Даунинг и дополнил этот подход несколькими улучшениями которые мы сейчас с вами также рассмотрим.

---------------------------------------------------------------------------------
📹 делитесь этим видео с друзьями:
   • Куда вынести логику из controllers, c...  

🔔 подпишитесь на YouTube-канал: https://www.youtube.com/c/CutCodeRu?s...

📼 Курс по Laravel с нуля:
   • Курс по Laravel 8 обучение с нуля. Бе...  

Куда вынести логику из controllers, commands, jobs. Лучшие практики Laravel разработчиков

---------------------------------------------------------------------------------
🔗 наш сайт: https://cutcode.ru/
📷 наш instagram:   / cutcoderu  
📱 Наш telegram-канал: https://t.me/laravel_cutcode

Комментарии

Информация по комментариям в разработке