* [ObjectArrayBasicTrait] заменён на [ArrayBasicTrait]. * [ArrayBasicTrait] изменён метод __isset. Теперь он обрабатывается корректно. * [ArrayBasicTrait] методы Serialize и UnSerialize теперь используют json_encode / json_decode * [+Dictionary] Класс, описывающий словарь типа строка (ключ) -> значение любого типа (значение).
54 lines
1.7 KiB
PHP
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;
|
|
}
|
|
} |