Перегрузка ядра
Эта функция предназначена для разработчиков и
полезна в случае, если вы хотите поменять поведение ядра системы,
но не хотите терять возможность обновлять основное ядро системы QS.
Например: вы хотите включить возможность авторизации пользователей через соцсети, как это сделано в Wacko Wiki Very Quick Start
Для этого нужно определить дополнительное ядро с перегруженной функцией LoadUser.
Пример использования
Пример идет в комплекте с системой.
Установите параметр
'kernel_overload' => 'wackofinal_demooverload.php',
и ядро будет перегружено файлом classes/wackofinal_demooverload.php.
Он делает очень простую вещь – в конце рендера страницы (функции Run) он выводит сообщение Overrided Wacko class.
Для собственных изысканий напишите собственную перегрузку; она не будет зависеть от основных классов и файлов и, таким образом, их можно будет свободно обновлять до новых версий.
Технологическое решение
Технически перегрузка ядра обеспечивается специальной конструкцией в конце файла classes/extension.php:
<?php
global $wakkaConfig;
if(is_array($wakkaConfig)) {
if($wakkaConfig["kernel_overload"] != "") {
// в конфиге определено переопределение ядра - загружаем соответствующий файл
require_once(__DIR__.'/'.$wakkaConfig["kernel_overload"]);
} else {
require_once(__DIR__.'/wackofinal.php');
}
} else {
require_once(__DIR__.'/wackofinal.php');
}
?>