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...

Комментарии • 47

  • @ilysharusher
    @ilysharusher 2 года назад +5

    Первый настолько качественный контент про ларавел. Приятно что кто-то про php ещё помнит :)

  • @harenkov2000
    @harenkov2000 2 года назад +4

    А я все голову ломал. Раньше создавал в каждой модели метод get с Type hintoм этой модели. А оказывается вот как все просто. Спасибо!

  • @eb6006
    @eb6006 2 года назад +1

    Жги брателло! Хороший канал на про тему, мололдчик! Про док блок рил не знал

  • @АленаЕршова-ъ5ю
    @АленаЕршова-ъ5ю 10 месяцев назад

    спасибо, супер) люблю ваш контент

  • @pepper-fm
    @pepper-fm 2 года назад +3

    Спасибо! Очень полезное видео!

  • @hanze30
    @hanze30 2 года назад +1

    наконец-то! всегда гадал, что это

  • @ilhmpost
    @ilhmpost 2 года назад +1

    жаль нет на ютубе возможности поставить двойной лайк. придется поставить два одинарных 👍👍

  • @capstanfearless
    @capstanfearless 2 года назад +1

    Спасибо за интересную заметку!

  • @ДарьяШу-п7щ
    @ДарьяШу-п7щ 2 года назад +1

    Спасибо! Теперь знаю 🥰

  • @aldwynconjurer9449
    @aldwynconjurer9449 2 года назад +1

    Ура! Наконец-то видео о помагаторах к ларке. Не раз уже в коментах писал, и повторюсь еше раз. К пхп-либе иде-хелпер так же можно установить плагин Шторма Laravel IDE helper, который еще больше ускоряет написание кода и навигацию по коду. Плагин платный но он того стоит.
    Так же сделаю маленькую рекомендацию по поводу скоупов. Называть скоупы лучше всего согласно документации динамических скоупов. Оглашение должно начинатся со словесного префикса scopeOf, к примеру scopeOfActive. А вызов уже как ->ofActive() . Почему? Что б было визуальное отличие от релейшенов. Ибо релейшен active() визуально вызывается так же как и скоуп active().

    • @CutCodeRu
      @CutCodeRu  2 года назад

      Рискуем запутать тогда разраба, который посчитает это динамическим скопом и будет думать что необходимо передать параметр! Но идея хорошая, имеет место быть но возможно с другим префиксом

    • @aldwynconjurer9449
      @aldwynconjurer9449 2 года назад +1

      @@CutCodeRu Согласен. Но сам лично попадал на грабли, когда скоуп и релейшн визуально одинаковы, и ты не совсем понимаеш что тут делается. Так же, встречал ситуации, когда люди пытаются придумать велосипед, и оглашают скоупы по типу scopeWhereActive(). И само-собой, потом при вызове отваливается код с ошибкой "поле active в таблице не найдено" или чего хуже, все рабботает но не так как надо и ты этого не видиш, так как тут вызов уже на прямую конфликтит с магическими методами елоквента.
      Опять же, часто в процессе разработки статический скоуп превращается в динамический, но переименовать его забывают. Задолбавшись возвращать код з замечаниями я всем своим пригрозил физической расправой, если где-то увижу оглашенный скоуп не по щаблону scopeOf{name}. Схема оказалась рабочей))

    • @vasilyya7578
      @vasilyya7578 2 года назад +2

      @@aldwynconjurer9449 не хочу критиковать, но давайте уважать русский язык (как впрочем и любой другой), а то читать противненько

  • @0kkama
    @0kkama 2 года назад

    прикольно. Я обычно геттеры и сеттеры шлёпал. Вообще терпеть не могу лару именно из-за перебора с магией (нормальные пацаны за магов не играют) и фасадами. Даже barryvdh/laravel-ide-helper не всегда помогает. Симфа в этом плане мне симпатичнее.

    • @CutCodeRu
      @CutCodeRu  2 года назад

      Посмешил про магов)

  • @adventure229
    @adventure229 4 месяца назад

    Хороший контент

  • @norrthh
    @norrthh 2 года назад +1

    Не знал, спасибо

  • @АлекандрМарченко-д6г
    @АлекандрМарченко-д6г 2 года назад +1

    Класс.

  • @arturkhachatryan63
    @arturkhachatryan63 2 года назад +1

    spasibo

  • @msdeav
    @msdeav 2 года назад +1

    thank you...

  • @TsA1ex
    @TsA1ex 2 года назад +1

    Дело в том, что ручное указание свойств и методов не избавляет от указанных проблем полностью. Всё равно нужно хотя бы раз заглянуть в таблицу или модель, чтобы узнать название свойства или скоупа. Плюс код засоряется полотнищами из комментариев. Рекомендую установить недорогой, но очень мощный плагин Laravel Idea и навсегда забыть об этих док блоках и иде хелперах.

    • @dfkkg3453
      @dfkkg3453 2 года назад

      Laravel idea в помощь)

    • @iviefistofel
      @iviefistofel 2 года назад

      Для справки: он под капотом использует тот-же laravel-ide-helper.
      по крайней мере раньше использовал..

    • @TsA1ex
      @TsA1ex 2 года назад

      @@iviefistofel давно не использует. Там свой генератор, причём он не засоряет корень проекта, а кладёт всё в вендора. И вроде как генерит автоматически. Либо по команде из меню

    • @iviefistofel
      @iviefistofel 2 года назад

      @@TsA1ex он и раньше в вендор все клал, просто для генерации использовал сторонний пакет. ну и правильно так-то.
      пакет норм только если проект более менее простой. если делать какие-то расширения ядра, то без костылей не обойтись...

  • @cottoncat3700
    @cottoncat3700 2 года назад

    /**
    * @var string $comment Вот это лепота!
    */

  • @ktotut5378
    @ktotut5378 2 года назад

    ide-helper по миграциям блоки для моделей создает?

  • @gromfer708
    @gromfer708 2 года назад +1

    Разве Laravel idea не делает тоже самое только без доп файлов?

    • @twentxx
      @twentxx 2 года назад +1

      Это платное расширение, о чём упоминается в этом видео

    • @TsA1ex
      @TsA1ex 2 года назад

      @@twentxx цена раз в 10 меньше возможностей. Помимо указанных моментов в видео, позволяет генерировать более правильные классы для всего чего угодно с автоматическим добавлением в нужные провайдеры, удобная работа с файлами переводов, блейдами, хелпинг в популярных пакетах также. Это плагин делает кликабельным практически все что угодно в коде, что позволяет быстро и правильно писать и учиться. А также имеет тонкие возможности кастомизации. По сути это не просто иде хелпер, а целый комбайн, который устраняет все недостатки фреймворка и заряжает иде новыми суперспособностями

  • @iviefistofel
    @iviefistofel 2 года назад

    По-моему информация из разряда очевидных. Помню, когда только начал изучать Laravel (была еще версия 5.4) на laravel-ide-helper наткнулся в первый же день.

    • @CutCodeRu
      @CutCodeRu  2 года назад

      Рубрика для тех кто не знал подразумевает очевидные вещи но как видите есть очень много новичков для кого это интересная информация, которая в какой то мере расширит мышление в разработке

  • @xekcrash1893
    @xekcrash1893 2 года назад

    А перед переменной $user добавить докблок /** @var Users $users */ религия не позволяет?

  • @ДенисКуликов-м3о
    @ДенисКуликов-м3о 2 года назад +1

    Про дженерики и массивы не рассказал(

    • @CutCodeRu
      @CutCodeRu  2 года назад

      Еще расскажем)

  • @khasanshadiyarov
    @khasanshadiyarov 2 года назад +2

    Смотреть на телефоне невозможно, слишком мелко

    • @CutCodeRu
      @CutCodeRu  2 года назад

      кодите тоже на телефоне?

  • @vasilyya7578
    @vasilyya7578 2 года назад

    Коллеги, не засирайте код такого рода докблоками. Генерите хэлпером отдельный файлик для ide. И ещё - автор как будто бы смешивает понятия комментариев с докблоками. Комментирование кода - это совсем другое.

    • @CutCodeRu
      @CutCodeRu  2 года назад +2

      Автор ничего не смешивает и рассказывает о возможностях, генерировать одно а понимать, что генерируется тоже надо

  • @maxg_pro
    @maxg_pro 11 месяцев назад

    50% воды

    • @CutCodeRu
      @CutCodeRu  11 месяцев назад

      Неплохой результат)

    • @maxg_pro
      @maxg_pro 11 месяцев назад

      @@CutCodeRu Да, ты меня не просил, но я скажу. Я с коллегой обсуждал недавно php блогеров и мы были солидарны что у тебя бесячая подача, слишком много раскланивается, слишком много подводное. Мы деловые люди, мы пришли узнать нужную нам информацию чтобы решить свою задачу, и мы не хотим воду слушать. Мясо, мясо давай, мы ща этим ходим в инет. Может ты растягиваешь хронометраж для рекламы, плохая идея у всех разработка стоит AdBlock на компе, а на смартфоне RUclipsViced. Чести и удачи.

    • @maxg_pro
      @maxg_pro 11 месяцев назад

      @@CutCodeRu Да, ты меня не просил, но я скажу. Я с коллегой обсуждал недавно php блогеров и мы были солидарны что у тебя бесячая подача, слишком много раскланивается, слишком много подводное. Мы деловые люди, мы пришли узнать нужную нам информацию чтобы решить свою задачу, и мы не хотим воду слушать. Мясо, мясо давай, мы ща этим ходим в инет. Может ты растягиваешь хронометраж для рекламы, плохая идея у всех разработка стоит AdBlock на компе, а на смартфоне RUclipsViced. Чести и удачи.

  • @Outcast-w8b
    @Outcast-w8b 2 года назад +1

    Супер