models/ShortСodeModel.md
Модель ShortCodeModel
Пространство имён: goodboyalex\php_components_pack\models
Версия: 1.0
Доступно с: 1.4
Описание
Класс представляет собой модель для работы с шорткодами, которая позволяет определять и настраивать их поведение.
Свойства класса
-
shortcode
- Тип:
string - Описание: последовательность символов для шорткода
- Значение по умолчанию: пустая строка
- Тип:
-
onSet
- Тип:
Closure | null - Описание: обработчик действия шорткода при его включении
- Параметры функции:
content: stringparams: ShortcodeAttributes
- Возвращаемое значение:
string
- Тип:
-
onUnSet
- Тип:
Closure | null - Описание: обработчик действия шорткода при его отключении
- Параметры функции аналогичны onSet
- Возвращаемое значение:
string
- Тип:
-
onValidate
- Тип:
Closure | null - Описание: обработчик для валидации шорткода
- Параметры функции аналогичны onSet
- Возвращаемое значение:
ActionStatecvalue: bool
- Тип:
Конструктор
public function __construct(
string $shortcode = '',
?Closure $onSet = null,
?Closure $onUnSet = null,
?Closure $onValidate = null
)
Примеры использования
// Пример создания шорткода без обработчиков
$shortcodeModel = new ShortCodeModel('my-shortcode');
// Пример с полным набором обработчиков
$shortcodeModel = new ShortCodeModel(
'my-shortcode',
function($content, $params) {
// Логика обработки при включении
return $content;
},
function($content, $params) {
// Логика обработки при отключении
return $content;
},
function($content, $params) {
// Логика валидации
return new ActionState(true);
}
);
Рекомендации по использованию
-
При создании шорткода:
- Укажите уникальную последовательность символов
- Определите необходимые обработчики
- Учитывайте типы возвращаемых значений
-
При работе с обработчиками:
- Соблюдайте сигнатуру функций
- Обрабатывайте параметры корректно
- Возвращайте ожидаемые типы данных
-
При валидации:
- Реализуйте корректную логику проверки
- Возвращайте
ActionStateзначение, где в свойствеvalueуказывается результат проверки (trueилиfalse) - Учитывайте контекст использования