Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: подключение модулей
 
 автор: Bvz   (13.11.2009 в 12:45)   письмо автору
 
 

я знаю, что тема баян, но все же...

думаю над тем как вообще подключать и отключать из системы модулит.е. на прямую мне кажется не совсем оптимально, кто какими способами пользуется посоветуйте!

пока я вижу что должна быть отдельная таблица для модулей, при прослушивании GET запроса идет обращение к ней и если ок, подключаем нужный модуль.

Тогда всплывает встречный вопрос а как заносить, т.е. инсталлировать данный модуль, т.е. добавлять запись в таблицу модуля и делать дамп таблиц самого модуля?

единственное я пока вижу это в сам скрипт модуля добавить такую функцию.

  Ответить  
 
 автор: Лена   (13.11.2009 в 23:50)   письмо автору
 
   для: Bvz   (13.11.2009 в 12:45)
 

>пока я вижу что должна быть отдельная таблица для модулей, при прослушивании GET запроса идет обращение к ней и если ок, подключаем нужный модуль.

У меня тоже так. Все модули - в отдельной таблице. В этой таблице есть поле visible, если visible=0 - модуль отключен, если visible = 1 - модуль подключен.
Как устанавливаются значения visible. В панели администрирования есть страница "Модули". На ней - список всех модулей + напротив них чекбоксы. Отметили чекбокс - таблица модулей обновляется, данные заносятся в базу и у тех, что отметили чекбокс visible =1.
Как формируется список модулей на этой странице.
Есть каталог modules, в нем для каждого модуля - свой каталог. В каждом каталоге модуля есть файл descr.txt, в нем такая строка, например: Авторизация#Система авторизации для пользователей сайта. Т.е. название + описание.
Есть скрипт в ядре, который при загрузке системы сразу же и подключается. Этот скрипт автоматом проходится по каталогу modules, заходит в каждый каталог модуля и парсит в нем файл descr.txt. Название + описание каждого нового модуля автоматом помещаются в базу(причем перед этим надо проверить: если есть модуль в базе, данные о нем уже не пишутся).
Далее названия модулей выбираются на страницу "Модули" в панели администрирования, где нужно отметить чекбокс.
Смысл в чем: бросили папку с модулем в каталог modules, и данные о нем автоматом попадают базу. Плюс еще после подключения модуля устанавливаем для него права для разных групп пользователей. Ну это еще дольше рассказывать :) У меня тема была здесь, где права распределялись.
Я сделала как проще, в принципе работает, не жалуюсь, может, кто-то расскажет о более сложном решении.

  Ответить  
 
 автор: neadekvat   (14.11.2009 в 01:51)   письмо автору
 
   для: Лена   (13.11.2009 в 23:50)
 

Почему бы вам не сделать в админке форму и скрипт добавления модулей?
Добавляете через форму, в бд сразу заносите запись об этом модуле.
И не надо рыскать по каталогам, парсить что-то и тд.

  Ответить  
 
 автор: Bvz   (14.11.2009 в 06:41)   письмо автору
 
   для: neadekvat   (14.11.2009 в 01:51)
 

согласен каждый раз парсить не совсем удобно, нужно единожды устаносить а потом управлять через админку, спасибо, Joomla что-то подобное есть только там xml используется вместо txt
в нем и прописан синтаксиси и дамп таблиц присутствует.
я бы сделал типа функции инсталлятора, которая переносит скрипт в определенный каталог, потом читает файл в настройками, пусть тот же txt, оттуда берет инструкции что надо сделать и данные модуля, и потом выполняет их, например создает новые каталоги и переносити файлу в нужные папки и потом делает экспорт дампов таблиц и заносит данные в таблицу модулей.
а как парсятся txt файлы?

  Ответить  
 
 автор: neadekvat   (14.11.2009 в 12:40)   письмо автору
 
   для: Bvz   (14.11.2009 в 06:41)
 

Читаете файл (первую строку, в которой хранятся настройки), разбиваете на массив (разделитель - #), и вы уж знаете, я думаю, что у вас там будет нулевым индексом, что первым и тд

  Ответить  
 
 автор: Bvz   (16.11.2009 в 15:30)   письмо автору
 
   для: neadekvat   (14.11.2009 в 12:40)
 

а какими функциями читать? и как информация в текстовом файле организуется?

  Ответить  
 
 автор: Лена   (14.11.2009 в 15:53)   письмо автору
 
   для: neadekvat   (14.11.2009 в 01:51)
 

>Почему бы вам не сделать в админке форму и скрипт добавления модулей?

У меня через форму добавляются меню, страницы, области, блоки и т.д. Разнообразия захотелось :)

  Ответить  
 
 автор: neadekvat   (14.11.2009 в 16:04)   письмо автору
 
   для: Лена   (14.11.2009 в 15:53)
 

Разнообразие - это хорошо, конечно, но по-моему, в движке главное надежность и скорость работы. Но дело хозяйское, чего ж тут спорить :)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования