HookMain

Package application.hooks
Inheritance class HookMain » Hook » LsObject
Since 1.0
Source Code /application/classes/hooks/HookMain.class.php
Регистрация основных хуков

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
InitAction() Обработка хука инициализации экшенов HookMain
RegisterHook() Регистрируем хуки HookMain
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

InitAction() method
public void InitAction()
Source Code: /application/classes/hooks/HookMain.class.php#41 (show)
public function InitAction()
{
    
/**
     * Проверяем наличие директории install
     */
    
if (is_dir(rtrim(Config::Get('path.application.server'),
                
'/') . '/install') && (!isset($_SERVER['HTTP_APP_ENV']) or $_SERVER['HTTP_APP_ENV'] != 'test')
    ) {
        if (
Config::Get('install_completed')) {
            
$this->Message_AddErrorSingle($this->Lang_Get('install_directory_exists'));
            
Router::Action('error');
        } else {
            
Router::Location(rtrim(str_replace('index.php'''$_SERVER['PHP_SELF']),
                    
'/\\') . '/application/install/');
        }
    }
    
/**
     * Проверка на закрытый режим
     */
    
$oUserCurrent $this->User_GetUserCurrent();
    if (!
$oUserCurrent and Config::Get('general.close') and Router::GetAction() != 'registration' and Router::GetAction() != 'login') {
        
Router::Action('login');
    }
    
/**
     * Запуск обработки сборщика
     */
    
$this->Ls_SenderRun();
}

Обработка хука инициализации экшенов

RegisterHook() method
public void RegisterHook()
Source Code: /application/classes/hooks/HookMain.class.php#33 (show)
public function RegisterHook()
{
    
$this->AddHook('init_action''InitAction'__CLASS__1000);
}

Регистрируем хуки