[Д] [ObjectArray->Add] Функция добавляет объект в массив объектов, хранящийся в данном классе (аналогично добавлению элемента в массив с помощью []). [Д] [ObjectArray->AddRange] Функция добавляет массив объектов (или объекты, заданные с помощью array) в массив объектов, хранящийся в данном классе. [И] [ObjectArray->Update] Добавление с помощью foreach заменено на AddRange. [Д] [IDuplicated] Добавлен интерфейс реализации дублирования классов. [Д] [IStoredAtSQL] Добавлен интерфейс поддержки моделей и классов, реализующих хранение свойств в SQL базе данных.
81 lines
3.0 KiB
PHP
81 lines
3.0 KiB
PHP
<?php
|
||
|
||
namespace goodboyalex\php_components_pack\traits\ObjectArray;
|
||
|
||
use goodboyalex\php_components_pack\classes\ObjectArray;
|
||
|
||
/**
|
||
* Часть кода класса ObjectArray, отвечающая за специальные функции.
|
||
*
|
||
* @author Александр Бабаев
|
||
* @package php_components_pack
|
||
* @version 1.0
|
||
* @since 1.0
|
||
*/
|
||
trait ObjectArraySpecialTrait
|
||
{
|
||
/**
|
||
* Очищает массив объектов, хранящийся в данном классе.
|
||
*
|
||
* @return void
|
||
*/
|
||
public function Clear (): void
|
||
{
|
||
// Очищаем массив
|
||
unset($this->Container);
|
||
|
||
// Создаем новый массив
|
||
$this->Container = [];
|
||
}
|
||
|
||
/**
|
||
* Добавляет объект в массив объектов, хранящийся в данном классе (аналогично добавлению элемента в массив с
|
||
* помощью []).
|
||
*
|
||
* @param mixed $object Объект, который будет добавлен в массив объектов, хранящийся в данном классе.
|
||
*
|
||
* @return void
|
||
*/
|
||
public function Add (mixed $object): void
|
||
{
|
||
$this->Container[] = $object;
|
||
}
|
||
|
||
/**
|
||
* Добавляет массив объектов (или объекты, заданные с помощью array) в массив объектов, хранящийся в данном классе.
|
||
*
|
||
* @param ObjectArray|array $objects Массив объектов, которые будут добавлены в массив объектов.
|
||
*
|
||
* @return void
|
||
*/
|
||
public function AddRange (ObjectArray|array $objects): void
|
||
{
|
||
// Если передан массив, то не изменяем его, а если передан объект класса ObjectArray, то конвертируем его в массив объектов
|
||
$objectsToAdd = is_array($objects) ? $objects : $objects->ToArray();
|
||
|
||
// Добавляем массив объектов
|
||
$this->Merge($objectsToAdd);
|
||
}
|
||
|
||
/**
|
||
* Возвращает массив объектов, хранящихся в данном классе.
|
||
*
|
||
* @return array Массив объектов, хранящихся в данном классе.
|
||
*/
|
||
public function ToArray (): array
|
||
{
|
||
return $this->Container;
|
||
}
|
||
|
||
/**
|
||
* Объединяет массив объектов, хранящийся в данном классе, с массивом объектов, переданным в качестве параметра.
|
||
*
|
||
* @param array $objects Массив объектов, который будет объединен с массивом объектов, хранящимся в данном классе.
|
||
*
|
||
* @return void
|
||
*/
|
||
public function Merge (array $objects): void
|
||
{
|
||
$this->Container = array_merge($this->Container, $objects);
|
||
}
|
||
} |