PHPDoc и Laravel IDE helper. Для тех, кто не знал
HTML-код
- Опубликовано: 21 окт 2024
- Сегодня у нас снова рубрика для тех кто не знал! Думаю все знают что такое комментарии в коде. Но не все используют, не все используют правильно и не все понимают пользу. Сегодня мы затронем несколько проблем в Laravel ну само собой не только в laravel и попробуем их исключить за счет комментариев на основе стандартов phpDoc.
#phpDOC#laravel#cutcode
---------------------------------------------------------------------------------
❗️❗️❗️Присоединяйся к нашему комьюнити в телеграм - там и советом помогут и много интересного - t.me/laravel_chat
🤖🤖🤖Мой помощник Тэйлор готов выдать тебе подарок. Забирать тут - cutcode.ru/cha...
---------------------------------------------------------------------------------
Всех поклонников laravel я приветствую на канале CutCode! Сегодня у нас снова рубрика для тех кто не знал в которой я буду давать небольшие советы либо демонстрировать фичи из мира laravel livewire и так далее кто-то мог о них не знать, а кому-то они надеюсь даже пригодятся! Не забудьте об этом поделиться в комментариях и обязательно прожать лайк, я буду крайне благодарен! А мы начинаем, погнали!
Думаю все знают что такое комментарии в коде. Но не все используют, не все используют правильно и не все понимают пользу. Сегодня мы затронем несколько проблем в Laravel ну само собой не только в laravel и попробуем их исключить за счет комментариев на основе стандартов phpDoc. PHPdoc это стандартное описание комментария чтобы в итоге он был понятен не только вам, а всем. На то он и стандарт. С помощью комментариев мы можем указать что именно происходит в коде, что за типы у атрибутов и что именно возвращается. Генерировать документации, но мы также можем добавить удобства для работы с магическими полями и методами которых в ларавел в избытке. А также подключим библиотеку которая помогает генерировать PHP Doc блоки для laravel. В общем слова словами, но показать на пальцах куда проще и понятнее. Погнали! Итак, друзья. Давайте для начала рассмотрим проблему с которой сталкивается я думаю каждый из нас. У нас есть объект eloquent модели, в данном случае это User и мы хотим получить данные из поля в таблице email. User и далее пишем email и нам IDE ничего не подсказывает. IDE понятия не имеет что у нас этот объект связан с таблицей в базе и само собой не отобразит нам все поля в таблице users. Я вам больше скажу даже если мы добавим классу юзер свойства e-mail нам также IDE ничего здесь подсказывать не будет так как find of Fail не возвращает нам класс User, он возвращает билдер, возвращает коллекции, возвращать Model, но никак не Class User. Да и в целом если бы мы и добавили в классе юзер свойства email то мы бы только сломали логику eloquent модели.
---------------------------------------------------------------------------------
📹 делитесь этим видео с друзьями:
• Как установить Laravel...
🔔 подпишитесь на RUclips-канал: www.youtube.co...
📼 Курс по Laravel с нуля:
• Курс по Laravel 8 обуч...
PhpDoc и laravel ide helper. Для тех, кто не знал
---------------------------------------------------------------------------------
🔗 наш сайт: cutcode.ru/
📱 Наш telegram-канал: t.me/laravel_c...
Первый настолько качественный контент про ларавел. Приятно что кто-то про php ещё помнит :)
А я все голову ломал. Раньше создавал в каждой модели метод get с Type hintoм этой модели. А оказывается вот как все просто. Спасибо!
Жги брателло! Хороший канал на про тему, мололдчик! Про док блок рил не знал
спасибо, супер) люблю ваш контент
Спасибо! Очень полезное видео!
наконец-то! всегда гадал, что это
жаль нет на ютубе возможности поставить двойной лайк. придется поставить два одинарных 👍👍
Спасибо за интересную заметку!
Спасибо! Теперь знаю 🥰
Ура! Наконец-то видео о помагаторах к ларке. Не раз уже в коментах писал, и повторюсь еше раз. К пхп-либе иде-хелпер так же можно установить плагин Шторма Laravel IDE helper, который еще больше ускоряет написание кода и навигацию по коду. Плагин платный но он того стоит.
Так же сделаю маленькую рекомендацию по поводу скоупов. Называть скоупы лучше всего согласно документации динамических скоупов. Оглашение должно начинатся со словесного префикса scopeOf, к примеру scopeOfActive. А вызов уже как ->ofActive() . Почему? Что б было визуальное отличие от релейшенов. Ибо релейшен active() визуально вызывается так же как и скоуп active().
Рискуем запутать тогда разраба, который посчитает это динамическим скопом и будет думать что необходимо передать параметр! Но идея хорошая, имеет место быть но возможно с другим префиксом
@@CutCodeRu Согласен. Но сам лично попадал на грабли, когда скоуп и релейшн визуально одинаковы, и ты не совсем понимаеш что тут делается. Так же, встречал ситуации, когда люди пытаются придумать велосипед, и оглашают скоупы по типу scopeWhereActive(). И само-собой, потом при вызове отваливается код с ошибкой "поле active в таблице не найдено" или чего хуже, все рабботает но не так как надо и ты этого не видиш, так как тут вызов уже на прямую конфликтит с магическими методами елоквента.
Опять же, часто в процессе разработки статический скоуп превращается в динамический, но переименовать его забывают. Задолбавшись возвращать код з замечаниями я всем своим пригрозил физической расправой, если где-то увижу оглашенный скоуп не по щаблону scopeOf{name}. Схема оказалась рабочей))
@@aldwynconjurer9449 не хочу критиковать, но давайте уважать русский язык (как впрочем и любой другой), а то читать противненько
прикольно. Я обычно геттеры и сеттеры шлёпал. Вообще терпеть не могу лару именно из-за перебора с магией (нормальные пацаны за магов не играют) и фасадами. Даже barryvdh/laravel-ide-helper не всегда помогает. Симфа в этом плане мне симпатичнее.
Посмешил про магов)
Хороший контент
🥰
Не знал, спасибо
Класс.
spasibo
thank you...
Дело в том, что ручное указание свойств и методов не избавляет от указанных проблем полностью. Всё равно нужно хотя бы раз заглянуть в таблицу или модель, чтобы узнать название свойства или скоупа. Плюс код засоряется полотнищами из комментариев. Рекомендую установить недорогой, но очень мощный плагин Laravel Idea и навсегда забыть об этих док блоках и иде хелперах.
Laravel idea в помощь)
Для справки: он под капотом использует тот-же laravel-ide-helper.
по крайней мере раньше использовал..
@@iviefistofel давно не использует. Там свой генератор, причём он не засоряет корень проекта, а кладёт всё в вендора. И вроде как генерит автоматически. Либо по команде из меню
@@TsA1ex он и раньше в вендор все клал, просто для генерации использовал сторонний пакет. ну и правильно так-то.
пакет норм только если проект более менее простой. если делать какие-то расширения ядра, то без костылей не обойтись...
/**
* @var string $comment Вот это лепота!
*/
👍
ide-helper по миграциям блоки для моделей создает?
Разве Laravel idea не делает тоже самое только без доп файлов?
Это платное расширение, о чём упоминается в этом видео
@@twentxx цена раз в 10 меньше возможностей. Помимо указанных моментов в видео, позволяет генерировать более правильные классы для всего чего угодно с автоматическим добавлением в нужные провайдеры, удобная работа с файлами переводов, блейдами, хелпинг в популярных пакетах также. Это плагин делает кликабельным практически все что угодно в коде, что позволяет быстро и правильно писать и учиться. А также имеет тонкие возможности кастомизации. По сути это не просто иде хелпер, а целый комбайн, который устраняет все недостатки фреймворка и заряжает иде новыми суперспособностями
По-моему информация из разряда очевидных. Помню, когда только начал изучать Laravel (была еще версия 5.4) на laravel-ide-helper наткнулся в первый же день.
Рубрика для тех кто не знал подразумевает очевидные вещи но как видите есть очень много новичков для кого это интересная информация, которая в какой то мере расширит мышление в разработке
А перед переменной $user добавить докблок /** @var Users $users */ религия не позволяет?
В точку
Про дженерики и массивы не рассказал(
Еще расскажем)
Смотреть на телефоне невозможно, слишком мелко
кодите тоже на телефоне?
Коллеги, не засирайте код такого рода докблоками. Генерите хэлпером отдельный файлик для ide. И ещё - автор как будто бы смешивает понятия комментариев с докблоками. Комментирование кода - это совсем другое.
Автор ничего не смешивает и рассказывает о возможностях, генерировать одно а понимать, что генерируется тоже надо
50% воды
Неплохой результат)
@@CutCodeRu Да, ты меня не просил, но я скажу. Я с коллегой обсуждал недавно php блогеров и мы были солидарны что у тебя бесячая подача, слишком много раскланивается, слишком много подводное. Мы деловые люди, мы пришли узнать нужную нам информацию чтобы решить свою задачу, и мы не хотим воду слушать. Мясо, мясо давай, мы ща этим ходим в инет. Может ты растягиваешь хронометраж для рекламы, плохая идея у всех разработка стоит AdBlock на компе, а на смартфоне RUclipsViced. Чести и удачи.
@@CutCodeRu Да, ты меня не просил, но я скажу. Я с коллегой обсуждал недавно php блогеров и мы были солидарны что у тебя бесячая подача, слишком много раскланивается, слишком много подводное. Мы деловые люди, мы пришли узнать нужную нам информацию чтобы решить свою задачу, и мы не хотим воду слушать. Мясо, мясо давай, мы ща этим ходим в инет. Может ты растягиваешь хронометраж для рекламы, плохая идея у всех разработка стоит AdBlock на компе, а на смартфоне RUclipsViced. Чести и удачи.
Супер