|
|
|
(HTML, PHP) Как лучше выводить данные?
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Возник такой вопрос. В сткрипте идет обработка данных, формируется переменная $strHTML, в которую заносится ВСЕ содержимое выводимой HTML-страницы. А потом, после окончания полного формирования, делается echo($strHTML);, т.е. размер $strHTML может быть значительным. Хотелось бы узнать мнение специалистов, чем плох или хорош данный способ? Почти из всех приводимых примеров, видно, что формирование и отправка страницы клиенту проходят одновременно. В этом случае какие минусы и плюсы? Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2005, 10:33 |
|
||
|
(HTML, PHP) Как лучше выводить данные?
|
|||
|---|---|---|---|
|
#18+
А это смотря что ты хочешть получить в итоге... Если формируешь строку с выводом контента у тебя есть возможность в любом месте скрипта прописать нужные заголовки, что иногда необходимо, но данные пользователю поступят только когда будут сформированы полностью. Правда в этом случае я бы использовал ob_start(), но как говорится дело вкуса. В противном случае ты лишаешься возможности отправлять заголовки после первого echo или print(), но данные могут быть отображены клиентом еще до окончания работы скрипта. Ну, в краце, примерно вот так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2005, 11:25 |
|
||
|
(HTML, PHP) Как лучше выводить данные?
|
|||
|---|---|---|---|
|
#18+
Dmitri P.Правда в этом случае я бы использовал ob_start(), но как говорится дело вкуса. Не хотелось возиться бы с буферизацией Dmitri P.В противном случае ты лишаешься возможности отправлять заголовки после первого echo или print(),Основная причина, из-за чего формирую всю страницу сразу. Но боюсь, что это занимает много ресурсов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2005, 12:11 |
|
||
|
(HTML, PHP) Как лучше выводить данные?
|
|||
|---|---|---|---|
|
#18+
Это будет не очень заметно при небольших страницах. Основная задержка будет при передаче страницы по Сети. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2005, 12:19 |
|
||
|
(HTML, PHP) Как лучше выводить данные?
|
|||
|---|---|---|---|
|
#18+
А зачем все содержимое страницы запихивать в переменную? почему так делаешь? ---------------------------------------- Артисты не приехали, приехали цыгане ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2005, 12:28 |
|
||
|
(HTML, PHP) Как лучше выводить данные?
|
|||
|---|---|---|---|
|
#18+
4m@t!cА зачем все содержимое страницы запихивать в переменную? почему так делаешь?Мне так показалось удобнее. Формирую страницу, обрабатывая ошибки (например, если второй запрос к БД не отработал, то не за чем выводить результаты и первого запроса), и если надо, делаю перенаправление, если же все нормально, то в конце echo и все ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2005, 12:52 |
|
||
|
(HTML, PHP) Как лучше выводить данные?
|
|||
|---|---|---|---|
|
#18+
Хм. а по-моему это просто разбазаривание системных ресурсов. И куча лишних действий.. ---------------------------------------- Артисты не приехали, приехали цыгане ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2005, 13:04 |
|
||
|
(HTML, PHP) Как лучше выводить данные?
|
|||
|---|---|---|---|
|
#18+
И как это можно обойти? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2005, 13:07 |
|
||
|
(HTML, PHP) Как лучше выводить данные?
|
|||
|---|---|---|---|
|
#18+
Как все обходят - так и ты обходи. Без переменной - генери текст сразу в выходной поток, а не в переменную. ---------------------------------------- Артисты не приехали, приехали цыгане ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2005, 13:26 |
|
||
|
(HTML, PHP) Как лучше выводить данные?
|
|||
|---|---|---|---|
|
#18+
4m@t!cКак все обходят - так и ты обходи. Без переменной - генери текст сразу в выходной поток, а не в переменную. Существует множество задач, в которых данный способ не приемлем... Если есть необходимость кешировать данные, а потом отправлять, значит так и надо делать. Всегда приходится чем-то принебрегать, что бы другое работало. В данном случае, насколько я понял, необходимо принебречь разбазариванием ресурсов (которых, кстати, и не так много разбазаривается) и скоростью отображения данных в пользу гибкости работы скрипта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2005, 14:03 |
|
||
|
(HTML, PHP) Как лучше выводить данные?
|
|||
|---|---|---|---|
|
#18+
4m@t!cКак все обходят - так и ты обходи. Без переменной - генери текст сразу в выходной поток, а не в переменную. Не получится сразу на выход, т.к. неизвестно, будут ли ошибки потом. Если они будут, то первоначальные данные не имеют смысла и вся "картина" на странице будет "кривой". Как их в таком случае отменять? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2005, 14:15 |
|
||
|
(HTML, PHP) Как лучше выводить данные?
|
|||
|---|---|---|---|
|
#18+
авторМне так показалось удобнее. О каком кеширование идет речь? Человек вставлял-вставлял к переменную содержимое страницы, а потом оказывается, что страницу нельзя отдавать клиенту. Смысл было делать предыдущие манипуляции? ИМХО, так проще писать код, но не факт, что это будет грамотное решение. я не исключаю варианта, что нужно будет писАть в переменную содержимое страницы, но в силу ограниченности опыта не могу выразиться категорично. Но для чего-то придумали буффер? ---------------------------------------- Артисты не приехали, приехали цыгане ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2005, 14:19 |
|
||
|
(HTML, PHP) Как лучше выводить данные?
|
|||
|---|---|---|---|
|
#18+
4m@t!c авторМне так показалось удобнее. О каком кеширование идет речь? Я новичек, поэтому не понял вопроса. 4m@t!cЧеловек вставлял-вставлял к переменную содержимое страницы, а потом оказывается, что страницу нельзя отдавать клиенту. Смысл было делать предыдущие манипуляции?Заранее не известно, нужны ли эти манипуляции, допустим, получаю первый набор из БД, строю табличку в переменной, при этом высвобождаю память, где содержится сам набор, получаю второй набор и тут оказывается ошибка и в этом случае необходимо перенаправить на другую страницу. Хотя конечно можно хранить все наборы до конца работы скрипта, и в конце отправлять или не отправлять данные, но ресурс в этом случае тоже не экономится. 4m@t!cНо для чего-то придумали буффер? Вот хотелось бы узнать :-) ИМХО, разницы нет под что тратится ресурс, под буффер или под эту переменную. Хотелось бы точно узнать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2005, 15:10 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=33035587&tid=1478375]: |
0ms |
get settings: |
5ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
151ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 197ms |
| total: | 432ms |

| 0 / 0 |
