Комментарии 12
Интересно, кто победит. readonly class VS #[AllowDynamicProperties]
Скажу не популярную вещь, но PHP становится интерпретируемой явой, с наследием в виде кривого синтаксиса и динамической типизацией. Порог вхождения при этом увеличивается, код становится менее предсказуемым.
Старые проблемы при этом остаются, например наследие стандартных функций с их анархией в параметрах и работой через poiner, почему бы не сделать обертку как в DateTime?
С такими темпами лучше мигрировать на яву.
Недавно попробовал кодить на ней и поймал себя на мысли, что код там получается предсказуемым и понятней, хоть и многословным.
Низкий порог вхождения был когда-то основной фишкой PHP. Сейчас чтоб начать писать приложения нужно знать целый кластер технологий.
Можно попробовать поучиться по старинке, но столкнешься с проблемами когда начнешь работать с продуктовым кодом.
P.S. Пишу на PHP со временен 4-й версии (начинал с того что в школьные времена писал плагины для xoops, кстати он ещё живой).
Низкий порог вхождения был когда-то основной фишкой PHP. Сейчас чтоб начать писать приложения нужно знать целый кластер технологий.
Зато зарплаты ниже всех))
Ну и самое забавное, что в каждой второй статье про «войти в IT» рекомендуют PHP для входа.
Даа, в наше время трава была зеленее.
Это "непопулярное мнение" звучит приблизительно со времен PHP 5.0, вам ли не знать.
код становится менее предсказуемым.
Писание писанию рознь.
Можно 20 лет натягивать верстку на вордпресс, и в этом случае да - такие вздохи вполне оправданы.
Но я вот ещё даже на 3 версии успел прилично поработать, сессии были не частью языка, а работали через отдельную phplib. И для тех задач, с которыми приходится сталкиваться, я только приветствую все изменения. Которых, в сущности, не так много - опциональный к применению контроль типов, улучшение поддержки ООП и немного синтаксического сахара.
При этом вполне можно продолжать говнокодить и по-старинке. "Продуктовый код" о котором вы говорите - это ООП. И претензию здесь надо предъявлять не РНР, а тем людям, которые смеют на нём писать, а потом новичку приходится его учить. Ну а если никак не получается без процедур и глобальных переменных, то специалисты по вордпрессу вполне ещё востребованы.
интерпретируемой явой ... и динамической типизацией
А чем это плохо? Статическая типизация, это конечно, хорошо, но вот без компилируемости это все "деньги на ветер" по-моему. А компилируемый язык в вебе, оно надо?
Начиная с PHP 8.1.0, класс, который реализует Serializable без реализации __serialize() и __unserialize() выдаст предупреждение об устаревании. - не пугайте людей
Выдаст предупреждение именно потому, что он объявлен устаревшим. __serialize() и __unserialize() можно использовать и без интерфейса Serializable.
Но согласен с вами, что формулировка была не очень. Поправил, спасибо!
Спасибо!
енамчики :)
PHP Дайджест № 216 (15 – 30 ноября 2021)