Класс Hook

Класс для работы с хуками.

Методы

hook::get()

Получает и выполняет функции повешаные на хук.

Пример

hook::set('test_hook1', 'testing_hook');
function testing_hook($text){
    return '[func testing_hook] '.$text;
}

// с приоритетом 1, по умолчанию 50
hook::set('test_hook2', 'Testing_hook::init', 1);
class Testing_hook {
    static function init($text, $params){
        return '[method testing_hook::init] '.$text.' (key: '.$params['key'].')';
    }
}


$test = 'Text';

$test = hook::get('test_hook1', $test);
$test = hook::get('test_hook2', $test, array('key' => 'value'));

// [method testing_hook::init] [func testing_hook] Text (key: value)
print_r($test);

hook::set()

Вешает функцию на хук.

hook::remove()

Удаляет хук или функцию на него повешаную.

Пример

// удаляет хук
hook::remove('test_hook2');

// снимает функцию с хука
hook::remove('test_hook1', 'testing_hook');

hook::exists()

Проверяет существует ли хук или висит ли на нём функция.

Пример

// есть ли хук
var_dump(hook::exists('test_hook2'));

// висит ли на хуке функция
var_dump(hook::exists('test_hook1', 'testing_hook'));