20250424
[Д] [ObjectArray->Add] Функция добавляет объект в массив объектов, хранящийся в данном классе (аналогично добавлению элемента в массив с помощью []). [Д] [ObjectArray->AddRange] Функция добавляет массив объектов (или объекты, заданные с помощью array) в массив объектов, хранящийся в данном классе. [И] [ObjectArray->Update] Добавление с помощью foreach заменено на AddRange. [Д] [IDuplicated] Добавлен интерфейс реализации дублирования классов. [Д] [IStoredAtSQL] Добавлен интерфейс поддержки моделей и классов, реализующих хранение свойств в SQL базе данных.
This commit is contained in:
81
sources/traits/ObjectArray/ObjectArraySpecialTrait.php
Normal file
81
sources/traits/ObjectArray/ObjectArraySpecialTrait.php
Normal file
@@ -0,0 +1,81 @@
|
||||
<?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);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user