Video není dostupné.
Omlouváme se.

PHP 8.4: Property Hooks vs Getter / Setter

Sdílet
Vložit
  • čas přidán 6. 07. 2024
  • Посмотрим как меняется подход к свойствам в PHP 8.4, что такое Property Hooks и как всё это вообще работает. Виртуальные свойства, работа со ссылками и области видимости.
    00:27 - О чем Property Hooks
    03:09 - Примеры
    05:55 - _PROPERTY_
    06:34 - Интерфейсы
    07:26 - Виртуальные свойства
    08:30 - По ссылке
    09:56 - Области видимости
    12:41 - Родительские хуки
    15:33 - Ещё
    16:11 - Финалимся

Komentáře • 19

  • @about-code
    @about-code  Před měsícem +1

    Презенташка из доклада доступна по ссылке: docs.google.com/presentation/d/15QANydBiXS4NrFvOk5QpY3RPdXiIILW5RfT6HV6UQEY/edit?usp=sharing

  • @user-np8hb3sj6p
    @user-np8hb3sj6p Před měsícem +1

    Спасибо за полезную информацию! Как минимум, познавательно, если использовать пока не планируете.

    • @about-code
      @about-code  Před měsícem

      Всегда пожалуйста :)

  • @qoonmax
    @qoonmax Před měsícem +1

    Выглядит неплохо. После появления readonly классов потребность в getter ослабла, но теперь так и вовсе пропала. Надеюсь мы получим маленькие DTO и другие классы, а не головную боль с областью видимости и ссылками.

    • @about-code
      @about-code  Před měsícem

      Хотелось бы на это надеяться. Надо так или иначе пробовать на чем-то боевом. Хотя вон товарищи из шарпа вроде не страдают и юзают, будем думать что и у нас будет что-то подобное)

  • @kinvain
    @kinvain Před měsícem +1

    Спасибо! Жаль что когда вышли аттрибуты я не смог найти подобного подробного объяснения. У вас очень классно и доходчиво получилось.

    • @about-code
      @about-code  Před měsícem +1

      Спасибо за отклик. Будем стараться следить за всеми "свежестями" из PHP и оперативно подробно докладывать)

  • @den-rad
    @den-rad Před měsícem +3

    Я за обычно за синтаксический сахар, но эти хуки мне не нравятся, с ними просто выстрелить себе в ногу. Пока не понимаю, как будет работать сериализация, хотя бы (array)$object или json_encode() ?

    • @about-code
      @about-code  Před měsícem

      Надо присмотреться: возможно будет удобнее (не факт конечно))). Сериализация будет работать точно так же как и сейчас, только все свойства у которых есть хуки будут получать значения через хуки.

  • @VladimirMiroshnichenko64
    @VladimirMiroshnichenko64 Před měsícem +1

    интересно но количество использований слова "безобразие" тревожит :)

  • @Varkatel
    @Varkatel Před 17 dny +1

    как не писать сеттеры/геттеры, чтобы потом не переставать их писать!!

    • @about-code
      @about-code  Před 17 dny

      @@Varkatel ну, в 90 процентах случаев их и не придется писать)

  • @Rclass
    @Rclass Před měsícem

    На канале R.class Tech вышел еще один доклад по Doctrine - последний из мини-курса. Тоже советуем посмотреть :)

  • @olegkat4841
    @olegkat4841 Před měsícem +6

    Вместо того что бы развивать функциональность языка в плане выполнения на нем качественно новых задач и получения нового функционала, сообщество пилит какой то синтаксический сахар, который пофакту нах не нужен. Вот мыбудем 1001 способом записывать и читать свойство и что? Что глобально это поменяло в плане возможностей?

    • @about-code
      @about-code  Před měsícem +1

      Ну, код будет почище и покороче (если всё пойдет как задумано))). Ну так и в принципе никто не мешает вам подумать что допилить в язык и кинуть RFC-шку?

    • @olegkat4841
      @olegkat4841 Před měsícem

      @@about-code Я к тому что давайте сравним с тем же JS - развился от простых скриптов на web страничке до инструмента для сложных веб интерфейсов, серверные решения - пожалуйста не блокирующая система вывода, разработка под мобилу - да легко. И это все за 10 лет.

    • @BurmAlex
      @BurmAlex Před měsícem

      @@olegkat4841 жс-у до пхп еще пердеть и пердеть. возможно вы про тайпскрипт, типизированный.. приятный. не блокирующая система в пхп с libevent была еще до рождения того же жс-а, было бы желание...

    • @phat80
      @phat80 Před měsícem

      @@olegkat4841Так в чем проблема писать на JS? 😅