Хабы: PHP
Всем привет! Расскажу о большом обновлении в пакете sbwerewolf/language-specific
.
Для тех кто не знаком с этим пакетом коротко опишу его назначение.
Допустим вы по API получили JSON с большой вложенностью, и вам нужно достать из JSON какое то значение которое зарыто поглубже. Что делать ? конечно преобразовать JSON строку в ассоциативный массив, а дальше что делать ? Конечно прописать все индексы до искомого элемента, получиться что то такое:
response["response"]["GeoObjectCollection"]["featureMember"]
[0]["GeoObject"]["metaDataProperty"]["GeocoderMetaData"]["Address"]["formatted"]
?? "Адрес не найден";
Получилась строка кода длиной 200 символов. Не очень удобное такое читать. Самое неприятное, что элемента с индексом 0
может и не быть, то есть сначала надо проверить, что он есть, а потом уже идти по массиву дальше, и каждый раз придётся приписывать весь это хвост из индексов, поэтому код будет заграмождён индексами, работать с таким кодом не удобно.
Пакет sbwerewolf/language-specific
, позволяет избавить код от сплошного перечисления индексов, замороченных выражений, скобочек и операторов ??
.
Читать далее