Hook

Package framework.engine
Inheritance abstract class Hook » LsObject
Subclasses HookCopyright, HookMain, HookStatisticsPerformance
Since 1.0
Source Code /framework/classes/engine/Hook.class.php
Абстракция хука, от которой наследуются все хуки Дает возможность создавать обработчики хуков в каталоге /hooks/

Protected Properties

Hide inherited properties

PropertyTypeDescriptionDefined By
_aBehaviors Список поведений в виде готовых объектов, формируется автоматически LsObject
aBehaviors array Список поведений LsObject

Public Methods

Hide inherited methods

MethodDescriptionDefined By
AddBehaviorHook() Добавляет хук поведения LsObject
AttachBehavior() Присоединяет поведение к объекту LsObject
DetachBehavior() Отсоединяет поведение от объекта LsObject
GetBehavior() Возвращает объект поведения по его имени LsObject
GetBehaviors() Возвращает все объекты поведения LsObject
RegisterHook() Обязательный метод в хуке - в нем происходит регистрация обработчиков хуков Hook
RemoveBehaviorHook() Удаляет хук поведения LsObject
RunBehaviorHook() Запускает хук поведения на выполнение LsObject
__call() Ставим хук на вызов неизвестного метода и считаем что хотели вызвать метод какого либо модуля LsObject
__clone() При клонировании сбрасываем поведения LsObject
__construct() Конструктор, запускается автоматически при создании объекта LsObject
__get() Обработка доступа к объекты поведения LsObject

Protected Methods

Hide inherited methods

MethodDescriptionDefined By
AddDelegateHook() Добавляет делегирующий обработчик на хук. Актуален для хуков на выполнение методов модулей. Hook
AddHook() Добавляет обработчик на хук Hook
PrepareBehaviors() Инициализация поведений LsObject

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: /framework/classes/engine/Hook.class.php#57 (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: /framework/classes/engine/Hook.class.php#40 (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: /framework/classes/engine/Hook.class.php#70 (show)
abstract public function RegisterHook();

Обязательный метод в хуке - в нем происходит регистрация обработчиков хуков