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

Hide inherited methods

MethodDescriptionDefined By
RegisterHook() Обязательный метод в хуке - в нем происходит регистрация обработчиков хуков Hook
__call() Ставим хук на вызов неизвестного метода и считаем что хотели вызвать метод какого либо модуля Hook

Protected Methods

Hide inherited methods

MethodDescriptionDefined 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));
}

Добавляет обработчик на хук

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);
}

Ставим хук на вызов неизвестного метода и считаем что хотели вызвать метод какого либо модуля