models/ObjectArraySerializeOptions.md


Модель ObjectArraySerializeOptions

Пространство имён: goodboyalex\php_components_pack\models
Версия: 1.0
Доступно с: 1.1.1

Описание

Класс представляет собой модель настроек сериализации для работы с массивами объектов. Определяет методы и параметры сериализации/десериализации.

Свойства класса

  • serializeMethod — метод сериализации/десериализации (ObjectArraySerializeMethod)
  • onClassTo — функция обратного вызова для сериализации (Closure или null)
  • onClassFrom — функция обратного вызова для десериализации (Closure или null)

Конструктор

public function __construct(
    ObjectArraySerializeMethod $serializeMethod = ObjectArraySerializeMethod::Serialize,
    ?callable $onClassTo = null,
    ?callable $onClassFrom = null
)

Параметры:

  • $serializeMethod — метод сериализации (по умолчанию Serialize)
  • $onClassTo — функция для сериализации (опционально)
  • $onClassFrom — функция для десериализации (опционально)

Методы сериализации

Основные методы

  • serializeMethod — определяет способ сериализации данных
  • onClassTo — используется при преобразовании объекта в массив
  • onClassFrom — используется при преобразовании массива в объект

Примеры использования

Создание с настройками по умолчанию

$options = new ObjectArraySerializeOptions();
// Использует метод Serialize и без дополнительных коллбэков

Создание с кастомными коллбэками

$options = new ObjectArraySerializeOptions(
    ObjectArraySerializeMethod::JsonEncodeWithToArray,
    function ($value) {
        return (array)$value;
    },
    function ($array) {
        return new MyClass($array);
    }
);

Особенности работы

  • Поддержка различных методов сериализации
  • Возможность настройки кастомных преобразований
  • Гибкая система коллбэков для обработки данных

Рекомендации по использованию

  1. При выборе метода сериализации:

    • Учитывайте тип данных
    • Оценивайте производительность
    • Проверяйте совместимость с системой
  2. При настройке коллбэков:

    • Обеспечьте корректное преобразование типов
    • Обрабатывайте возможные ошибки
    • Сохраняйте целостность данных

На главную | Содержание