Когда-то давно учил Джаву, помню что нужно было сделать достаточно телодвижений для парсинга JSON, по итогу юзал либу для этого, сейчас связался со свифтом, там нужно выполнить достаточно телодвижений, создать структуру (модель), потом создать URLSession, потом пойти создать таску, запустить ее.. Когда я пришел в PHP и написал json_decode - был ошарашен, что все на столько просто. Это PHP такой крутой и удобный, или остальные языки такие сложные и ничего проще придумать не смогли?
Также, достаточно просто в Python, JS, но почему многие языки так плохо с ним дружат?
Да просто дело в том, что низкоуровневые языки на то и называются низкоуровневыми, чтобы дать вам больше доступа к управлению данными и процессами. А функции и методы работы с JSON это уже абстракции более высокого уровня, которые по дефолту доступны как правило только в высокоуровневых языках.
As of PHP 5.2.0, the JSON extension is bundled and compiled into PHP by default.
Предположу, что "авторы" языка решили, что это очень популярный use-case, поэтому добавили модуль JSON в ядро. Ранее приходилось собирать/подключать ручками.
Если поставить задачу "В PHP распарсить JSON в объект какого-то класса", то придётся плясать с бубном, либо, опять же, использовать сторонние решения.
Кирилл Несмеянов, в моём мире у классов нет публичный полей. Reflection для таких целей тоже не используем. Остается только руками искать сеттеры и вызывать их.
Кирилл Несмеянов, 1) пример Ваш не работает, синтаксические ошибки 2) Даже если их исправить, PHP не разрешает выставлять приватные поля таким образом, словите fatal
Ну и Jms всё же про контексты с аннотациями больше. А так, любые современные гидраторы рефлексию максимум для инстанциирования без конструктора используют.
Да, это PHP настолько крутой и удобный. Он (как и тот же JS) показывает, что язык программирования может быть простым и удобным с одной стороны, и функциональным и мощным, наполненным высокопрофессиональными фичами - с другой.
неужели у такого мощного языка как Java это не получилось, раз многим приходится ходить либы юзать? тот же свифт, смотрю, и каждый по своему парсит, и способы далеко не очевидные
driverx18, вроде бы очевидно, что в пыхе для этого есть собственная библиотека, в некоторых других её нет, поэтому нужно использовать внешнюю, либо писать свою, неужели это не очевидно?