В
RUNCMS остался анахронизм, который тянется еще из
PHP 3
Тогда не было конструкции
include_once(); и возможность неоднократного подключения файлов предотвращали следующим образом (один из методов):
PHP код:
if (!defined("_КОНСТАНТА")) {
define("_КОНСТАНТА ", 1);
// Начало класса
// Конец класса
}
Плох метод тем, что мы определяем большое количество никому не нужных констант, а в случае
RUNCMS имена этих констант еще и очень большие.
Немножко разгрузить память позволит следующая экзекуция:
Заменить во всех классах (и не только) конструкцию вроде:
PHP код:
if (!defined("XOOPS_USER_INCLUDED")) {
define("XOOPS_USER_INCLUDED", 1);
// Начало класса
// Конец класса
}
На
PHP код:
if (!defined('XOOPS_ROOT_PATH')) {
exit();
}
// Начало класса
// Конец класса
Это давно сделали в
XOOPS. Проверка
'XOOPS_ROOT_PATH' (естественно, не обязательно эта константа) нужна для предотвращения прямого вызова/подключения.