babaev-an ee76392d71 20250515
* [ObjectArrayBasicTrait] заменён на [ArrayBasicTrait].
* [ArrayBasicTrait] изменён метод __isset. Теперь он обрабатывается корректно.
* [ArrayBasicTrait] методы Serialize и UnSerialize теперь используют json_encode / json_decode
* [+Dictionary] Класс, описывающий словарь типа строка (ключ) -> значение любого типа (значение).
2025-05-15 23:04:04 +03:00

54 lines
1.7 KiB
PHP

<?php
namespace goodboyalex\php_components_pack\classes;
use ArrayAccess;
use Countable;
use goodboyalex\php_components_pack\interfaces\ISerializable;
use goodboyalex\php_components_pack\traits\ArrayBasicTrait;
use goodboyalex\php_components_pack\traits\ObjectArray\ObjectArrayConstantsTrait;
use goodboyalex\php_components_pack\traits\ObjectArray\ObjectArrayLINQTrait;
use goodboyalex\php_components_pack\traits\ObjectArray\ObjectArraySearchAndSortTrait;
use goodboyalex\php_components_pack\traits\ObjectArray\ObjectArraySpecialTrait;
use IteratorAggregate;
/**
* Класс, описывающий массив объектов.
*
* @author Александр Бабаев
* @package php_components_pack
* @version 1.0
* @since 1.0
*/
final class ObjectArray implements ArrayAccess, IteratorAggregate, Countable, ISerializable
{
/**
* @var array $Container Массив объектов, хранящихся в данном классе.
*/
private array $Container;
// Реализация наследуемых интерфейсов и классов
use ArrayBasicTrait;
// Константы
use ObjectArrayConstantsTrait;
// Поиск элемента
use ObjectArraySearchAndSortTrait;
// LINQ-подобные методы
use ObjectArrayLINQTrait;
// Специальные методы
use ObjectArraySpecialTrait;
/**
* Конструктор класса.
*
* @param array $array Массив объектов, который будет храниться в данном классе.
*/
public function __construct (array $array = [])
{
$this->Container = $array;
}
}