This commit is contained in:
2025-02-03 18:49:47 +03:00
parent f1a79d66ec
commit dd62ad0ca4
1739 changed files with 154102 additions and 0 deletions

View File

@@ -0,0 +1,60 @@
<?php
namespace goodboyalex\php_components_pack\classes;
use ArrayAccess;
use Countable;
use goodboyalex\php_components_pack\interfaces\ISerializable;
use goodboyalex\php_components_pack\traits\ObjectArray\ObjectArrayBasicTrait;
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 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 ObjectArrayBasicTrait;
// Константы
use ObjectArrayConstantsTrait;
// Поиск элемента
use ObjectArraySearchAndSortTrait;
// LINQ-подобные методы
use ObjectArrayLINQTrait;
/**
* Конструктор класса.
*
* @param array $array Массив объектов, который будет храниться в данном классе.
*/
public function __construct (array $array = [])
{
$this->Container = $array;
}
/**
* Возвращает массив объектов, хранящихся в данном классе.
*
* @return array Массив объектов, хранящихся в данном классе.
*/
public function ToArray (): array
{
return $this->Container;
}
}