ActionPlugin
Package | framework.engine |
---|---|
Inheritance | abstract class ActionPlugin » Action » LsObject |
Since | 1.0 |
Source Code | /framework/classes/engine/ActionPlugin.class.php |
Абстрактный класс экшена плагина.
От этого класса необходимо наследовать экшены плагина, эот позволит корректно определять текущий шаблон плагина для рендеринга экшена
Protected Properties
Property | Type | Description | Defined By |
---|---|---|---|
_aBehaviors | Список поведений в виде готовых объектов, формируется автоматически | LsObject | |
aBehaviors | array | Список поведений | LsObject |
aParams | array | Список параметров из URL | Action |
aParamsEventMatch | array | Список совпадений по регулярному выражению для евента | Action |
aRegisterEvent | array | Список зарегистрированных евентов | Action |
aRegisterEventExternal | array | Список евентов, которые нужно обрабатывать внешним обработчиком | Action |
sActionTemplate | string|null | Шаблон экшена | Action |
sCurrentAction | null|string | Текущий экшен | Action |
sCurrentEvent | string|null | Текущий евент | Action |
sCurrentEventName | string|null | Имя текущий евента | Action |
sDefaultEvent | string|null | Дефолтный евент | Action |
sTemplatePathPlugin | string|null | Полный серверный путь до текущего шаблона плагина | ActionPlugin |
Public Methods
Method | Description | Defined By |
---|---|---|
ActionCall() | Позволяет запускать не публичные методы экшена через объект | Action |
ActionCallExists() | Проверяет метод экшена на существование | Action |
ActionGet() | Возвращает свойство объекта экшена | Action |
ActionSet() | Устанавливает свойство объекта экшена | Action |
AddBehaviorHook() | Добавляет хук поведения | LsObject |
AttachBehavior() | Присоединяет поведение к объекту | LsObject |
DetachBehavior() | Отсоединяет поведение от объекта | LsObject |
EventShutdown() | Выполняется при завершение экшена, после вызова основного евента | Action |
ExecEvent() | Запускает евент на выполнение | Action |
GetActionClass() | Получить каталог с шаблонами экшена(совпадает с именем класса) | Action |
GetBehavior() | Возвращает объект поведения по его имени | LsObject |
GetBehaviors() | Возвращает все объекты поведения | LsObject |
GetCurrentEventName() | Возвращает имя евента | Action |
GetDefaultEvent() | Получает евент по умолчанию | Action |
GetParam() | Получает параметр из URL по его номеру, если его нет то null | Action |
GetParams() | Получает список параметров из УРЛ | Action |
GetTemplate() | Получить шаблон | Action |
Init() | Абстрактный метод инициализации экшена | Action |
RemoveBehaviorHook() | Удаляет хук поведения | LsObject |
RunBehaviorHook() | Запускает хук поведения на выполнение | LsObject |
SetDefaultEvent() | Устанавливает евент по умолчанию | Action |
SetParam() | Установить значение параметра(эмуляция параметра в URL). | Action |
__call() | Ставим хук на вызов неизвестного метода и считаем что хотели вызвать метод какого либо модуля | LsObject |
__clone() | При клонировании сбрасываем поведения | LsObject |
__construct() | Конструктор | Action |
__get() | Обработка доступа к объекты поведения | LsObject |
getTemplatePathPlugin() | Возвращает путь к текущему шаблону плагина | ActionPlugin |
setTemplatePathPlugin() | Установить значение пути к директории шаблона плагина | ActionPlugin |
Protected Methods
Method | Description | Defined By |
---|---|---|
AddEvent() | Добавляет евент в экшен | Action |
AddEventPreg() | Добавляет евент в экшен, используя регулярное выражение для евента и параметров | Action |
EventErrorDebug() | Выводит отладочную информацию в стандартном сообщении | Action |
EventNotFound() | Вызывается в том случаи если не найден евент который запросили через URL | Action |
GetEventMatch() | Возвращает элементы совпадения по регулярному выражению для евента | Action |
GetParamEventMatch() | Возвращает элементы совпадения по регулярному выражению для параметров евента | Action |
PrepareBehaviors() | Инициализация поведений | LsObject |
RegisterEvent() | Абстрактный метод регистрации евентов. | Action |
RegisterEventExternal() | Регистрируем внешние обработчики для евентов | Action |
SetTemplate() | Устанавливает какой шаблон выводить | Action |
SetTemplateAction() | Устанавливает какой шаблон выводить | Action |
Property Details
sTemplatePathPlugin
property
protected string|null $sTemplatePathPlugin;
Полный серверный путь до текущего шаблона плагина
Method Details
getTemplatePathPlugin()
method
public string getTemplatePathPlugin()
| ||
{return} | string |
Source Code: /framework/classes/engine/ActionPlugin.class.php#45 (show)
public function getTemplatePathPlugin()
{
if (is_null($this->sTemplatePathPlugin)) {
preg_match('/^Plugin([\w]+)_Action([\w]+)$/i', $this->GetActionClass(), $aMatches);
/**
* Проверяем в списке шаблонов
*/
$aMatches[1] = strtolower($aMatches[1]);
$aPaths = glob(Config::Get('path.application.plugins.server') . '/' . $aMatches[1] . '/templates/skin/*/actions/Action' . ucfirst($aMatches[2]),
GLOB_ONLYDIR);
$sTemplateName = ($aPaths and in_array(
Config::Get('view.skin'),
array_map(
create_function(
'$sPath',
'preg_match("/skin\/([\w\-]+)\/actions/i",$sPath,$aMatches); return $aMatches[1];'
),
$aPaths
)
))
? Config::Get('view.skin')
: 'default';
$sDir = Config::Get('path.application.plugins.server') . "/{$aMatches[1]}/templates/skin/{$sTemplateName}/";
$this->sTemplatePathPlugin = is_dir($sDir) ? $sDir : null;
}
return $this->sTemplatePathPlugin;
}
Возвращает путь к текущему шаблону плагина
setTemplatePathPlugin()
method
public bool setTemplatePathPlugin(string $sTemplatePath)
| ||
$sTemplatePath | string | Полный серверный путь до каталога с шаблоном |
{return} | bool |
Source Code: /framework/classes/engine/ActionPlugin.class.php#81 (show)
public function setTemplatePathPlugin($sTemplatePath)
{
if (!is_dir($sTemplatePath)) {
return false;
}
$this->sTemplatePathPlugin = $sTemplatePath;
}
Установить значение пути к директории шаблона плагина