Перегрузка ядра


Эта функция предназначена для разработчиков и 
полезна в случае, если вы хотите поменять поведение ядра системы,
но не хотите терять возможность обновлять основное ядро системы 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');
}
?>