[Д] [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);
 | ||
|     }
 | ||
| } |