Novice
Новичок
О ядре CMS и его функциях
Здесь под "ядром" я подразумеваю ту часть кода CMS, которая не изменяется от проекта к проекту, как бы не отличались проекты. Под такое определение, конечно и такое подходит:
$h= dir(MODULES_DIR);
while ($module = $h->read()) {
include_once(MODULES_DIR.$module);
}
$h->close();
Но это уже больше похоже на framework, поэтому рассмотрим ядро CMS, основное предназначене которой - создание классических сайтов (с лентами новостей, гостевыми, голосованиями и другими стандартными модулями).
Разработка ядра - дело индивидуальное для разработчика(-ов). Но все-таки хотелось бы выделить основные, а может и обязательные функции этого самого...ядра. Возможно, это поможет избежать ненужной дополнительной работы, уменьшить число ошибок, сократить время разработки модулей и т.д. в дальнейшем развитии системы.
В силу моей неопытности могу выделить следующие, как вариант:
Проверка целостности структуры системы, чтобы не проверять ее во второстепенных скриптах.
Это может быть установление соответствия инфы из конф. файлов к тому что есть на самом деле - структура каталогов, права на запись если это нужно, наличие основных компонентов ядра...
Подготовка системы к работе с текущими настройкми php в допустимых пределах.
Инициализация модулей. Например, проверка существования таблиц БД, необходимых каждому модулю, соответствие модуля принятому стандарту написания модулей...
Подключение модулей
.........
Здесь под "ядром" я подразумеваю ту часть кода CMS, которая не изменяется от проекта к проекту, как бы не отличались проекты. Под такое определение, конечно и такое подходит:
$h= dir(MODULES_DIR);
while ($module = $h->read()) {
include_once(MODULES_DIR.$module);
}
$h->close();
Но это уже больше похоже на framework, поэтому рассмотрим ядро CMS, основное предназначене которой - создание классических сайтов (с лентами новостей, гостевыми, голосованиями и другими стандартными модулями).
Разработка ядра - дело индивидуальное для разработчика(-ов). Но все-таки хотелось бы выделить основные, а может и обязательные функции этого самого...ядра. Возможно, это поможет избежать ненужной дополнительной работы, уменьшить число ошибок, сократить время разработки модулей и т.д. в дальнейшем развитии системы.
В силу моей неопытности могу выделить следующие, как вариант:
Проверка целостности структуры системы, чтобы не проверять ее во второстепенных скриптах.
Это может быть установление соответствия инфы из конф. файлов к тому что есть на самом деле - структура каталогов, права на запись если это нужно, наличие основных компонентов ядра...
Подготовка системы к работе с текущими настройкми php в допустимых пределах.
Инициализация модулей. Например, проверка существования таблиц БД, необходимых каждому модулю, соответствие модуля принятому стандарту написания модулей...
Подключение модулей
.........