Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Соединение частей модулей в один. 
:(
    Опции темы
Mal Hack
Дата 11.4.2005, 19:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 8
Всего: 261



Итак... Может буду объяснять несколько замудренно, но как-то по лдругому не ложится.

Есть главный файл, который в зависимости от параметра ?mode= (т.е. обращаю внимание, когда параметр задан, известен модуль) подключает модуль modul1 или modul2 или modul3 и т.д. Модули по своим задачам различны, они лишь вписываются в общую структуру работы движка.

Теперь предположим, что параметр ?mode= не задан. Т.е. как бы пользователь запрашивает главную страницу сайта. На Главной странице я хочу показывать части этих модулей, т.е. к примеру, 10 последгних новостей, 10 статей, пару картинок из фотогаллереи.

Собственно вопрос в чем. Как лучше организовать объединение маленьких частей различных модулей. Я пока думал как. Сделать отдельный модуль для главной странице, где будут небольшие функции показа нужноый инфы. но тут фишка получается дублирование SQL запросов, хранящзихся в отдельном файле для каждого модуля (теперь часть из них будет в SQL файле для главного модуля) и при добавлении модуля надо будет ручками к главному его дописывать...

Есть ли какое-то более рациональное решение?
Подключать сразу 5-6 файлов модулей не хочется...
PM ICQ   Вверх
netklon
Дата 12.4.2005, 08:08 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Сделайте у каждого модуля интерфейс доступа к нужной инфе и взаимодействуйте через него.
  Вверх
Mal Hack
Дата 12.4.2005, 08:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 8
Всего: 261



Цитата(netklon @ 12.4.2005, 09:08)
Сделайте у каждого модуля интерфейс доступа к нужной инфе и взаимодействуйте через него.

А файлы?
PM ICQ   Вверх
IZ@TOP
Дата 12.4.2005, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 1
Всего: 73



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

Если хочется все же как то объеденить эти данные - пиши интерфейс SQL запросов который будет содержать SQL для всех модулей, но, ИМХО это делать - ресурсы только тратить, так как часть данных использоваться все равно не будет.
Можно еще поступить так - создать несколько интерфейсов для разных модулей. Можно брать из них данные, а можно создать отдельный интерфейс для главной страницы.

В общем думай, решай. Я бы поступил последним способом.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Mal Hack
Дата 12.4.2005, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 8
Всего: 261



Получается так.
Есть: modul_code.php и modul_sql.php. делать SQL гна все модули - отпадает, нагрузка не слабая..
Судя по всему надо будет делать mainpage_code.php & mainpage_sql.php и туда собирать функции экспота данных от разных модулей.
тогда просто в mainpage_sql.php к примеру будет содержать запрос на список последних новостей, который есть в modul_sql.php. Вот где дублирование получается.

PM ICQ   Вверх
lorien
Дата 25.4.2005, 05:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 16.11.2004
Где: omsk

Репутация: нет
Всего: 3



Чё-то я не понял. Есть модули, в них есть функции.... инклюдишь все модули, вызываешь только нужные из них функции... в чём проблема то?
PM WWW   Вверх
Mal Hack
Дата 25.4.2005, 08:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 8
Всего: 261



Цитата(lorien @ 25.4.2005, 06:18)
инклюдишь все модули

Ага, а про память, скорость выполнения? smile
PM ICQ   Вверх
lorien
Дата 26.4.2005, 19:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 16.11.2004
Где: omsk

Репутация: нет
Всего: 3



Код
Ага, а про память, скорость выполнения? smile

И как, насколько падает скорость выполнения если всё инклюдить? smile
PM WWW   Вверх
Mal Hack
Дата 26.4.2005, 19:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 8
Всего: 261



Цитата(lorien @ 26.4.2005, 20:43)
И как, насколько падает скорость выполнения если всё инклюдить? smile

Как минимум раза в два минимум... Проверял.
PM ICQ   Вверх
Irokez
Дата 26.4.2005, 19:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 4
Всего: 53



Цитата(lorien @ 26.4.2005, 19:43)
И как, насколько падает скорость выполнения если всё инклюдить? smile

думаю порядочно

Mal Hack согласен с нетклоном
PM   Вверх
Irokez
Дата 26.4.2005, 20:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 4
Всего: 53



2lorien
Цитата
PHP не держит все приложение в памяти. Более того, для каж-
дой страницы он заново подгружает все файлы с кодом и преобразу-
ет в удобную для выполнения форму. Хорошо помогают различные
акселераторы PHP кода, которые сохраняют в памяти непосред-
ственно преобразованный в исполняемый код php-страницу. Но
даже в случае использования такого оптимизатора нежелательно
подключать к скрипту все файлы с классами и функциями, которые
могут понадобится, но реально не используются.

из журнала PHP Inside
PM   Вверх
IZ@TOP
Дата 26.4.2005, 20:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 1
Всего: 73



Irokez, и правильно пишут. Так как РНР в данном случае все равно загрузят и исполнят все модули - читайте задачу стоящую перед автором темы.

А производительность упадет скорее в десятки раз - хотя тут уже все завист и от предназначения модулей и их количества.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Irokez
Дата 26.4.2005, 20:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 4
Всего: 53



Цитата(IZ @ 26.4.2005, 20:27)
Irokez, и правильно пишут. Так как РНР в данном случае все равно загрузят и исполнят все модули - читайте задачу стоящую перед автором темы.

ну а я о чем?
PM   Вверх
lorien
Дата 15.5.2005, 08:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 16.11.2004
Где: omsk

Репутация: нет
Всего: 3



[quote]Как минимум раза в два минимум... Проверял.[/code]
Два раза - это так критично для твоей системы? Какова будет нагрузка на скрипт? Есть ли смысл оптимизировать его?
PM WWW   Вверх
Mal Hack
Дата 15.5.2005, 11:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 8
Всего: 261



lorien
Цитата(lorien @ 15.5.2005, 09:51)
Два раза - это так критично для твоей системы?

Конечно !!!
PM ICQ   Вверх
Guest
Дата 17.5.2005, 11:13 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Я бы сделал в каждом модуле такую возможность с целью использовать её не только на главной странице, но и в других разделах по мере необходимости. Если взять общую структуру за основу грамотности движка, то каждый модуль должен полностью отвечать за работу с конкретными весчами (например теми же новостями) если тебе он не нужен, то тебе не предется переделывать потом 2 модуля... и далее с таким подходом будет проще работать со сложной структурой, чем ты будеш делать copy/paste ;)
  Вверх
Master
Дата 17.5.2005, 11:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1530
Регистрация: 13.5.2003
Где: Mother Russia

Репутация: нет
Всего: 10



чъёрть... залогинеться забыл. smile


--------------------
Вавилон, Вавилон
Что ты построил, что разрушил?
Вавилон, Вавилон
Плавятся души дьявольским огнем.
PM WWW ICQ   Вверх
Mal Hack
Дата 17.5.2005, 13:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 8
Всего: 261



Master я правильно тебя понимаю, что с твоей точки зрения, лучше для каждого модуля сделать маленький файлик для модуля главной страницы? или как-бы модуль Экспорта по другому.
PM ICQ   Вверх
Master
Дата 23.5.2005, 10:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1530
Регистрация: 13.5.2003
Где: Mother Russia

Репутация: нет
Всего: 10



Mal Hack я могу объяснить более подробно... вот представь, что твой движок пишеш не только ты, и это даже не движок сайта, это крупный програмный продукт... каждому программисту отведена определенная её область в который он должен решить определенные задачи и полностью подготовить свою часть для грамотной работы с ней, что касается как функциональности, так и передечи данных в другие системы... т.е. раз каждый выполняет свою часть (как принято) и подготавливает все для стыковки, то отсюда можно сделать соответствующий вывод... каждый класс (или их группа) должны отвечать за работу с конкретными элементами проекта... на примере движка сайта не будет смотреться болезнено если ты раскидаеш все салатом, но ты просил мое мнение и я как мог прокомментировал его.


--------------------
Вавилон, Вавилон
Что ты построил, что разрушил?
Вавилон, Вавилон
Плавятся души дьявольским огнем.
PM WWW ICQ   Вверх
Mal Hack
Дата 23.5.2005, 12:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 8
Всего: 261



Master это-то я все понимаю. Вот мне надо их объединить в один. Точнее их маленькие части. К сожалению, специфика веба не позволяет (не предпочтительно), чтобы помимо модуля был еще маленький модуль экспорта...
PM ICQ   Вверх
Master
Дата 24.5.2005, 10:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1530
Регистрация: 13.5.2003
Где: Mother Russia

Репутация: нет
Всего: 10



почему? експорт может входить в модуль как функция по экспорту данных для тех или иных целей например... вполне приемлемое решение.


--------------------
Вавилон, Вавилон
Что ты построил, что разрушил?
Вавилон, Вавилон
Плавятся души дьявольским огнем.
PM WWW ICQ   Вверх
Mal Hack
Дата 24.5.2005, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 8
Всего: 261



Да. Так-то оно так. Но мне НЕ хотелось бы подключать в скрипт 6 модулей из которых надо сделать экспорт.
PM ICQ   Вверх
Opik
Дата 24.5.2005, 19:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: 3
Всего: 55



Mal Hack
Module::export?
PM MAIL Skype   Вверх
Mal Hack
Дата 24.5.2005, 19:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 8
Всего: 261



Цитата(Opr @ 24.5.2005, 20:28)
Mal Hack
Module::export?

не совсем тебя понял.
PM ICQ   Вверх
Opik
Дата 25.5.2005, 12:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: 3
Всего: 55



Mal Hack
Т.е подгружаешь все нужные модули. Но не вызываешь их, только вызываешь фукнцию экспорта.
PM MAIL Skype   Вверх
Mal Hack
Дата 26.5.2005, 01:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 8
Всего: 261



Цитата(Opr @ 25.5.2005, 13:41)
Т.е подгружаешь все нужные модули.

Вот в этом то и проблема. т.е. как это лучше организовать. Ведь подгружать 5-6 файлов (больших) - тормозит скрипт.
PM ICQ   Вверх
Opik
Дата 26.5.2005, 03:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: 3
Всего: 55



Mal Hack
тогда функции в отдельный файл. другого выхода не вижу.
PM MAIL Skype   Вверх
Mal Hack
Дата 26.5.2005, 11:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 8
Всего: 261



Цитата(Opr @ 26.5.2005, 04:26)
тогда функции в отдельный файл. другого выхода не вижу.

Вот тут опять. Лио все экспортные функции в один файл или в несколько для каждого модуля smile
PM ICQ   Вверх
Opik
Дата 26.5.2005, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: 3
Всего: 55



Mal Hack
ну из космоса то ты эти данные не возмешь smile есть вариант, выдавать данные аля RSS и в нужном месте их парсить.
PM MAIL Skype   Вверх
Mal Hack
Дата 26.5.2005, 12:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 8
Всего: 261



Opr не совсем тебя понял.
PM ICQ   Вверх
Opik
Дата 26.5.2005, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: 3
Всего: 55



Mal Hack
тебе допустим нужен экпорт новостей... делаешь RSS ленту новостей... где тебе нужно вывести новости парсишь её и выводишь smile
PM MAIL Skype   Вверх
Mal Hack
Дата 26.5.2005, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 8
Всего: 261



Цитата(Opr @ 26.5.2005, 13:22)
тебе допустим нужен экпорт новостей... делаешь RSS ленту новостей... где тебе нужно вывести новости парсишь её и выводишь smile

Волпрос не в том как сделать, а как хранить... И оптимально подключить.
PM ICQ   Вверх
Opik
Дата 26.5.2005, 12:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: 3
Всего: 55



Mal Hack
думаю оптимально XML.
Цитата
И оптимально подключить

смотря как хранить smile
PM MAIL Skype   Вверх
Mal Hack
Дата 26.5.2005, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 8
Всего: 261



Opr сам экспорт идт внутри срипта. Это 100%. Почитай в самом начале. Может ты просто не так понял, что мне надо. У меня вопрос лишь в том, как хранить наиболее оптимально для последующей работы.
PM ICQ   Вверх
Wowa
Дата 17.6.2005, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



Цитата(Mal @ 26.5.2005, 11:39)
Opr сам экспорт идт внутри срипта. Это 100%. Почитай в самом начале. Может ты просто не так понял, что мне надо. У меня вопрос лишь в том, как хранить наиболее оптимально для последующей работы.

Думаю, что в твоем случае, модуль не должен состоять из одного файла. Я бы вообще, каждый модуль посадил бы в разные каталоги, и помимо основого файла модуля класса. Создал бы еще отдельный файл с классом module_preload, в нем бы я создал необходимые методы, и именно этот файл с классом я бы подключал. Он будет легкий. Пусть даже это будет 6-10 файлов...
PM WWW   Вверх
Mal Hack
Дата 17.6.2005, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 8
Всего: 261



Цитата(Wowa @ 17.6.2005, 17:21)
Пусть даже это будет 6-10 файлов...

Судя по всему так и придется делать. Маленькие классы с функциями и также сс SQL...
PM ICQ   Вверх
Страницы: (3) [Все] 1 2 3 
Ответ в темуСоздание новой темы Создание опроса

Внимание: данный раздел предназначен для решения сложных, нестандартных задач.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Для профи | Следующая тема »


 




[ Время генерации скрипта: 0.1305 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.