Пытаюсь продумать логику модульного построения систем.
Вопрос у меня скорее теоретический.
Есть программа(скрипт). Этот скрипт - модуль чего-то большего. Он содержит в себе как основной функционал, так и информацию об администрировании самого себя.
Когда надо, некое ядро, некой системы, запрашивает из него основной функционал, когда выполняет обычные операции.
И этот же ядро запрашивает из него нужные данные для его же администрирования, когда его нужно настроить.
Учитывая что классы грузятся в память полностью, реализовать это все в одном классе будет избыточностью.
Кто может сказать, как это можно удобно реализовать?
Спасибо.
Спустя 1 час, 57 минут, 14 секунд (6.05.2011 - 13:50) linker написал(а):
Плагинизация тебе поможет. Но, на PHP ниже 5.3 можно не надеется.
Спустя 43 минуты, 10 секунд (6.05.2011 - 14:33) ApuktaChehov написал(а):
linker - спасибо большое, но это не то.
Фактически мне нужно что бы моя программа(скрипт) предоставлял мне интерфейсы для администрирования и для обычной работы, а не изменяла сама себя. Ведь ее конфигурация будет храниться отдельно.
Фактически мне нужно что бы моя программа(скрипт) предоставлял мне интерфейсы для администрирования и для обычной работы, а не изменяла сама себя. Ведь ее конфигурация будет храниться отдельно.
Спустя 17 минут, 18 секунд (6.05.2011 - 14:50) linker написал(а):
Нужно больше информации. Эти две функциональные части предполагается использовать одновременно в одном месте? Или либо только основной функционал, либо только админка?
Спустя 14 минут, 51 секунда (6.05.2011 - 15:05) ApuktaChehov написал(а):
Админка используется только когда нужно настроить этот скрипт. А основной функционал используется в остальное время. Т.е. они используются не одновременно.
Спустя 36 минут, 52 секунды (6.05.2011 - 15:42) linker написал(а):
Есть еще вариант - пространство имён.
Спустя 53 минуты, 4 секунды (6.05.2011 - 16:35) ApuktaChehov написал(а):
А как пространство имен тут поможет? Мне ведь нужно что бы в время работы основной части, админка не грузилась в оперативу и наоборот.
Спустя 17 часов, 55 минут, 27 секунд (7.05.2011 - 10:31) Michael написал(а):
Расскажу как это в друпале сделано.
Модуль имеет некий основной файл, например system.module, он грузится всегда, когда включен модуль. Модуль так же определяет свои страницы, среди которых имеются и админ страницы. Вот пример системы меню модуля:
По пути system/files - будет вызвана file_download, которая определена в тексте этого модуля или вообще - это общая функция.
А при вызове пути admin будет вызвана system_main_admin_page из файла system.admin.inc, который система меню предварительно заинклудит.
Модуль имеет некий основной файл, например system.module, он грузится всегда, когда включен модуль. Модуль так же определяет свои страницы, среди которых имеются и админ страницы. Вот пример системы меню модуля:
function system_menu() {
$items['system/files'] = array(
'title' => 'File download',
'page callback' => 'file_download',
'access callback' => TRUE,
'type' => MENU_CALLBACK,
);
$items['admin'] = array(
'title' => 'Administer',
'access arguments' => array('access administration pages'),
'page callback' => 'system_main_admin_page',
'weight' => 9,
'file' => 'system.admin.inc',
);
//...
return $items
}
По пути system/files - будет вызвана file_download, которая определена в тексте этого модуля или вообще - это общая функция.
А при вызове пути admin будет вызвана system_main_admin_page из файла system.admin.inc, который система меню предварительно заинклудит.
Спустя 1 час, 47 минут, 36 секунд (7.05.2011 - 12:18) ApuktaChehov написал(а):
Спасибо всем, буду думать.
_____________