[*: ActionStateMessageModel] улучшена реализация интерфейса ISerializable.

[*: ActionState] класс разбит на множество трейтов для более структурированности.

[*: ActionState] улучшена реализация интерфейса ISerializable.

[*: ActionState] класс внутреннего хранилища сообщений изменён на ObjectArray.

[*: ActionState] улучшена реализация метода Count.

[*: ActionState] улучшены реализации методов HasInfos, HasWarnings, HasErrors, IsSuccess, GetStringMessages и Clear.

 [*: ActionState] возвращаемое значение метода GetMessages заменено на ObjectArray.
This commit is contained in:
2025-05-05 17:39:34 +03:00
parent 18286ea99d
commit 2a03797bfe
9 changed files with 407 additions and 331 deletions

View File

@@ -0,0 +1,45 @@
<?php
namespace goodboyalex\php_components_pack\traits\ActionState;
use goodboyalex\php_components_pack\classes\ObjectArray;
/**
* Часть кода класса ActionState, отвечающая за методы получения сообщений.
*
* @author Александр Бабаев
* @package php_components_pack
* @version 1.0
* @since 1.0.13
*/
trait ActionStateGetTrait
{
/**
* Возвращает список сообщений (параметр Message у каждого сообщения).
*
* @param callable $predicate Условие выборки
* @param string $separator Разделитель
*
* @return string Список сообщений
*/
public function GetStringMessages (callable $predicate, string $separator = '\n'): string
{
// Делаю выборку
$result = $this->Messages->GetColumn("Message", $predicate);
// Возвращаю список
return implode($separator, $result);
}
/**
* Выбирает сообщения по условию predicate.
*
* @param callable $predicate Условие выборки
*
* @return ObjectArray Список отобранных сообщений
*/
public function GetMessages (callable $predicate): ObjectArray
{
return $this->Messages->GetRows($predicate);
}
}