PHPDoc и Laravel IDE helper. Для тех, кто не знал

Поделиться
HTML-код
  • Опубликовано: 28 авг 2022
  • Сегодня у нас снова рубрика для тех кто не знал! Думаю все знают что такое комментарии в коде. Но не все используют, не все используют правильно и не все понимают пользу. Сегодня мы затронем несколько проблем в Laravel ну само собой не только в laravel и попробуем их исключить за счет комментариев на основе стандартов phpDoc.
    #phpDOC#laravel#cutcode
    ---------------------------------------------------------------------------------
    ❗️❗️❗️Присоединяйся к нашему комьюнити в телеграм - там и советом помогут и много интересного - t.me/laravel_chat
    🤖🤖🤖Мой помощник Тэйлор готов выдать тебе подарок. Забирать тут - cutcode.ru/chat-bot
    ---------------------------------------------------------------------------------
    Всех поклонников 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-канал: ruclips.net/user/CutCodeRu?s...
    📼 Курс по Laravel с нуля:
    • Курс по Laravel 8 обуч...
    PhpDoc и laravel ide helper. Для тех, кто не знал
    ---------------------------------------------------------------------------------
    🔗 наш сайт: cutcode.ru/
    📱 Наш telegram-канал: t.me/laravel_cutcode

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

  • @harenkov2000
    @harenkov2000 Год назад +4

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

  • @ilysharusher
    @ilysharusher Год назад +4

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

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

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

  • @capstanfearless
    @capstanfearless Год назад +1

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

  • @eb6006
    @eb6006 Год назад +1

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

  • @ilhmpost
    @ilhmpost Год назад +1

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

  • @hanze30
    @hanze30 Год назад +1

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

  • @user-mi2od9gr5x
    @user-mi2od9gr5x Год назад +1

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

  • @user-nf1td4hh7y
    @user-nf1td4hh7y 7 месяцев назад

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

  • @norrthh
    @norrthh Год назад +1

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

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

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

  • @user-sf2ym1ht2g
    @user-sf2ym1ht2g Год назад +1

    Класс.

  • @user-sd8fk6bx3z
    @user-sd8fk6bx3z Год назад +1

    Супер

  • @0kkama
    @0kkama Год назад

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

    • @CutCodeRu
      @CutCodeRu  Год назад

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

  • @aldwynconjurer9449
    @aldwynconjurer9449 Год назад +1

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

    • @CutCodeRu
      @CutCodeRu  Год назад

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

    • @aldwynconjurer9449
      @aldwynconjurer9449 Год назад +1

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

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

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

  • @msdeav
    @msdeav Год назад +1

    thank you...

  • @arturkhachatryan63
    @arturkhachatryan63 Год назад +1

    spasibo

  • @cottoncat3700
    @cottoncat3700 Год назад

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

  • @TsA1ex
    @TsA1ex Год назад +1

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

    • @dfkkg3453
      @dfkkg3453 Год назад

      Laravel idea в помощь)

    • @iviefistofel
      @iviefistofel Год назад

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

    • @TsA1ex
      @TsA1ex Год назад

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

    • @iviefistofel
      @iviefistofel Год назад

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

  • @ktotut5378
    @ktotut5378 Год назад

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

  • @gromfer708
    @gromfer708 Год назад +1

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

    • @twentxx
      @twentxx Год назад +1

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

    • @TsA1ex
      @TsA1ex Год назад

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

  • @iviefistofel
    @iviefistofel Год назад

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

    • @CutCodeRu
      @CutCodeRu  Год назад

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

  • @user-eq5rm5nh4h
    @user-eq5rm5nh4h Год назад +1

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

    • @CutCodeRu
      @CutCodeRu  Год назад

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

  • @xekcrash1893
    @xekcrash1893 Год назад

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

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

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

    • @CutCodeRu
      @CutCodeRu  Год назад

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

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

    50% воды

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

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

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

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

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

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

  • @vasilyya7578
    @vasilyya7578 Год назад

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

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

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