Download the PHP package dobrosite/php-mapping without Composer
On this page you can find all versions of the php package dobrosite/php-mapping. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package php-mapping
Отображение данных на структуры PHP
Библиотека компонентов для отображения структурированных данных на структуры PHP и обратно.
Основная идея библиотеки — предоставить «кирпичики» из которых можно построить свои правила отображения данных для любой ситуации.
Определения
- Входные данные (input) — структурированные данные, которые требуется отобразить на структуры PHP.
- Выходные данные (output) — структурированные данные, получаемые из структур PHP.
- Массив (array) — этим словом в библиотеке обозначаются только ассоциативные массивы.
- Коллекция (collection) — индексированный (неассоциативный) массив однотипных значений.
Основы
Сердцем библиотеки являются интерфейсы *Mapper
:
Mapper
Пустой интерфейс, который реализуют все преобразователи.
InputMapper
Преобразователь входных данных. Содержит единственный метод:
OutputMapper
Преобразователь выходных данных. Содержит единственный метод:
Отображает входные данные $source
на структуру PHP и возвращает её.
BidirectionalMapper
Объединяет в себе InputMapper
и OutputMapper
.
Примеры
TODO
BidirectionalMapper
Apply
Применяет ко входным данным преобразователь, полученный от другого преобразователя.
ArrayKeys
Применяет указанное преобразование последовательно к каждому ключу ассоциативного массива.
ArrayKeysMap
Меняет имена ключей массива на основе карты соответствия.
ArrayValues
Применяет преобразования к указанным значениям ассоциативного массива.
AsIs
Оставляет значения как они есть.
BooleanType
Преобразовывает значение в булев тип.
Callback
Позволяет использовать для преобразования функции обратного вызова.
Chained
Создаёт цепочку преобразований, выполняемых последовательно: в input
от первого к последнему,
в output
— в обратном порядке.
Collection
Применяет указанный преобразователь к каждому элементу коллекции.
Constant
Возвращает константное значение.
Constructor
Отображает массив на объект, используя для создания объекта конструктор его класса.
Подробнее см. «Работа с объектами» ниже.
В качестве аргумента $class
в конструктор Constructor
следует передать имя класса или экземпляр
Mapper
, который вернёт имя класса создаваемого объекта.
EnumType
Преобразовывает значения перечисляемых типов.
FloatType
Преобразовывает значение в вещественное число.
Map
Преобразовывает значение на основе карты (ассоциативного массива).
Nullable
Модификатор для других преобразователей, разрешающий им принимать значение null
.
ObjectFactory
Отображает массив на объект, используя для создания объекта фабрику.
Подробнее см. «Работа с объектами» ниже.
В качестве аргумента $factory
в конструктор ObjectFactory
следует передать фабрику для создания
нужных объектов.
ObjectMapper
Комбинирующий преобразователь, объединяющий InputMapper
и OutputMapper
для преобразования
массив ⇆ объект.
В первом аргументе (input
) следует передать экземпляр InputMapper
, создающий объект из массива,
например, ObjectFactory.
Во втором аргументе (output
) можно передать экземпляр OutputMapper
, создающий массив из объекта.
Если аргумент не указан, будет использован PublicProperties.
InputMapper
ArrayDefaults
Позволяет задать значения по умолчанию для ключей, отсутствующих во входном массиве.
OutputMapper
Merge
Принимает в конструкторе несколько экземпляров OutputMapper
. При вызове метода output
поочерёдно
передаёт полученное значение каждому из преобразователей, затем объединяет возвращённые ими
результаты с помощью array_merge
.
PublicProperties
Принимает на входе объект, возвращает на выходе ассоциативный массив его публичных свойств.
Предназначен для использования в ObjectMapper
.
Работа с объектами
TODO
All versions of php-mapping with dependencies
ext-intl Version *