Для безопасного и удобного извлечения значений из глубоко вложенных массивов и объектов PHP, пакет
Главное преимущество подхода – читаемость кода и автоматическое приведение типов. Вместо проверок
Ключевым классом пакета является
Хотя существуют альтернативы, такие как библиотека "Typed", которая обеспечивает более быструю работу в простых случаях,
sbwerewolf/language-specific
предоставляет альтернативу стандартным способам доступа по индексам. Он позволяет избежать многократных проверок на существование ключей и преобразования типов. Вместо длинных цепочек индексов используется последовательность вызовов pull()
для перехода по уровням вложенности, и get()
для получения конечного значения. Изображение носит иллюстративный характер
Главное преимущество подхода – читаемость кода и автоматическое приведение типов. Вместо проверок
isset()
или оператора ??
, методы pull()
и get()
обеспечивают безопасный доступ, возвращая значение по умолчанию при отсутствии ключа или значения. Пакет также предоставляет методы для приведения типов: str()
, int()
, bool()
, array()
и object()
, что упрощает работу с данными различных форматов. Ключевым классом пакета является
CommonValue
, который представляет значение элемента массива с возможностью приведения к требуемому типу. Кроме того, CommonValue
позволяет проверить, было ли значение получено из массива или использовано значение по умолчанию. Классы BaseArray
, CommonArray
и AdvancedArray
обеспечивают удобную работу с массивами и их вложенностями, реализуя интерфейсы Iterator
, JsonSerializable
и ArrayAccess
. Хотя существуют альтернативы, такие как библиотека "Typed", которая обеспечивает более быструю работу в простых случаях,
sbwerewolf/language-specific
предлагает более гибкий подход. Пакет позволяет не только получать значения, но и анализировать их тип, а также предоставлять значения по умолчанию, делая его подходящим для обработки массивов с непредсказуемой структурой и типами данных. Пакет также предоставляет методы has()
, type()
и asIs()
для проверки существования элемента, получения типа элемента и получения значения без приведения к типу.