Hook
Package | engine |
---|---|
Inheritance | abstract class Hook » LsObject |
Subclasses | HookCopyright, HookMain, HookStatisticsPerformance |
Since | 1.0 |
Source Code | /engine/classes/Hook.class.php |
Абстракция хука, от которой наследуются все хуки
Дает возможность создавать обработчики хуков в каталоге /hooks/
Public Methods
Method | Description | Defined By |
---|---|---|
RegisterHook() | Обязательный метод в хуке - в нем происходит регистрация обработчиков хуков | Hook |
__call() | Ставим хук на вызов неизвестного метода и считаем что хотели вызвать метод какого либо модуля | Hook |
Protected Methods
Method | Description | Defined By |
---|---|---|
AddDelegateHook() | Добавляет делегирующий обработчик на хук. Актуален для хуков на выполнение методов модулей. | Hook |
AddHook() | Добавляет обработчик на хук | Hook |
Method Details
AddDelegateHook()
method
protected void AddDelegateHook($sName $sName, $sCallBack $sCallBack, null $sClassNameHook=NULL, int $iPriority=1)
| ||
$sName | $sName | Название хука на который вешается обработчик |
$sCallBack | $sCallBack | Название метода обработчика |
$sClassNameHook | null | Название класса обработчика, по умолчанию это текущий класс хука |
$iPriority | int | Приоритет обработчика хука |
Source Code: /engine/classes/Hook.class.php#50 (show)
protected function AddDelegateHook($sName,$sCallBack,$sClassNameHook=null,$iPriority=1) {
if (is_null($sClassNameHook)) {
$sClassNameHook=get_class($this);
}
$this->Hook_AddDelegateHook($sName,$sCallBack,$iPriority,array('sClassName'=>$sClassNameHook));
}
Добавляет делегирующий обработчик на хук. Актуален для хуков на выполнение методов модулей. После него другие обработчики не выполняются, а результат метода моуля заменяется на рузультат обработчика.
AddHook()
method
protected void AddHook(string $sName, string $sCallBack, null|string $sClassNameHook=NULL, int $iPriority=1)
| ||
$sName | string | Название хука на который вешается обработчик |
$sCallBack | string | Название метода обработчика |
$sClassNameHook | null|string | Название класса обработчика, по умолчанию это текущий класс хука |
$iPriority | int | Приоритет обработчика хука, чем выше число, тем больше приоритет - хук обработчик выполнится раньше остальных |
Source Code: /engine/classes/Hook.class.php#35 (show)
protected function AddHook($sName,$sCallBack,$sClassNameHook=null,$iPriority=1) {
if (is_null($sClassNameHook)) {
$sClassNameHook=get_class($this);
}
$this->Hook_AddExecHook($sName,$sCallBack,$iPriority,array('sClassName'=>$sClassNameHook));
}
Добавляет обработчик на хук
See Also
RegisterHook()
method
abstract public void RegisterHook()
|
Source Code: /engine/classes/Hook.class.php#61 (show)
abstract public function RegisterHook();
Обязательный метод в хуке - в нем происходит регистрация обработчиков хуков
__call()
method
public mixed __call(string $sName, array $aArgs)
| ||
$sName | string | Имя метода |
$aArgs | array | Аргументы |
{return} | mixed |
Source Code: /engine/classes/Hook.class.php#70 (show)
public function __call($sName,$aArgs) {
return Engine::getInstance()->_CallModule($sName,$aArgs);
}
Ставим хук на вызов неизвестного метода и считаем что хотели вызвать метод какого либо модуля