Ответов: 129 Просмотров: 0
|
Цитата:Детализируйте пожалуйста свои планы и задумки по реализации, с тем чтобы эту работу можно было разбить на небольшие законченные проекты и дело пойдет быстрее.
Хотелось бы сделать ядро, которое будет отличаться высокой производительностью, надёжностью и расширяемостью... Уже есть некоторые наработки.
Например запросы к базе выполняются так:
CODE:
db::query('INSERT INTO table SET param1=?s', 'Параметр 1');
$data = db::getRow('SELECT * FROM table WHERE id=?i', 1);
$data = db::getAll('SELECT * FROM table');
Функции для регистрации/обработки события остались почти такими же, как я описывал в документации к плагинам:
CODE:
// Регистрация событий
core::setAction('ActionName');
core::setAction('ActionName', array('param1'=>$param1));
// Обработка события из плагина
core::setHandler('ActionName', 'HandlerFunction');
Каждый раздел форума(главная страница, просмотр списка форумов, просмотр тем в форуме, просмотр сообщений в теме) будет выполнен в виде отдельного модуля.
Модуль запускается из файла в modules/Название_модуля/module.php
Структура папки modules/Название_модуля/ может быть такой:
views/ - находятся шаблоны
models/ - находятся модели
Пример кода модуля:
CODE:
class ControllerTest extends Controller {
public function ActionIndex() {
// Главное действие модуля, вызывается index.php?a=test
$model = $this->getModel('test'); // Получение объекта модели models/test.php
template::setData('TestData', $model->getData()); // Регистрация данных, чтобы их можно было использовать из шаблона
template::view('Test', 'index_page'); // Вызов шаблона views/index_page.php
}
public function ActionOther() {
// Главное действие модуля, вызывается index.php?a=test/other
$model = $this->getModel('test');
template::setData('TestData', $model->getOtherData());
template::view('Test', 'other_page');
}
}
|