powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (HTML, PHP) Как лучше выводить данные?
14 сообщений из 14, страница 1 из 1
(HTML, PHP) Как лучше выводить данные?
    #33035010
Bagin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте!
Возник такой вопрос. В сткрипте идет обработка данных, формируется переменная $strHTML, в которую заносится ВСЕ содержимое выводимой HTML-страницы. А потом, после окончания полного формирования, делается echo($strHTML);, т.е. размер $strHTML может быть значительным. Хотелось бы узнать мнение специалистов, чем плох или хорош данный способ? Почти из всех приводимых примеров, видно, что формирование и отправка страницы клиенту проходят одновременно. В этом случае какие минусы и плюсы?
Заранее спасибо.
...
Рейтинг: 0 / 0
(HTML, PHP) Как лучше выводить данные?
    #33035202
Dmitri P.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А это смотря что ты хочешть получить в итоге...

Если формируешь строку с выводом контента у тебя есть возможность в любом месте скрипта прописать нужные заголовки, что иногда необходимо, но данные пользователю поступят только когда будут сформированы полностью. Правда в этом случае я бы использовал ob_start(), но как говорится дело вкуса.

В противном случае ты лишаешься возможности отправлять заголовки после первого echo или print(), но данные могут быть отображены клиентом еще до окончания работы скрипта.

Ну, в краце, примерно вот так.
...
Рейтинг: 0 / 0
(HTML, PHP) Как лучше выводить данные?
    #33035384
Bagin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitri P.Правда в этом случае я бы использовал ob_start(), но как говорится дело вкуса. Не хотелось возиться бы с буферизацией

Dmitri P.В противном случае ты лишаешься возможности отправлять заголовки после первого echo или print(),Основная причина, из-за чего формирую всю страницу сразу. Но боюсь, что это занимает много ресурсов
...
Рейтинг: 0 / 0
(HTML, PHP) Как лучше выводить данные?
    #33035411
Dmitri P.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это будет не очень заметно при небольших страницах. Основная задержка будет при передаче страницы по Сети.
...
Рейтинг: 0 / 0
(HTML, PHP) Как лучше выводить данные?
    #33035446
Фотография 4m@t!c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А зачем все содержимое страницы запихивать в переменную? почему так делаешь?
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
(HTML, PHP) Как лучше выводить данные?
    #33035539
Bagin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
4m@t!cА зачем все содержимое страницы запихивать в переменную? почему так делаешь?Мне так показалось удобнее. Формирую страницу, обрабатывая ошибки (например, если второй запрос к БД не отработал, то не за чем выводить результаты и первого запроса), и если надо, делаю перенаправление, если же все нормально, то в конце echo и все
...
Рейтинг: 0 / 0
(HTML, PHP) Как лучше выводить данные?
    #33035574
Фотография 4m@t!c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хм. а по-моему это просто разбазаривание системных ресурсов. И куча лишних действий..
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
(HTML, PHP) Как лучше выводить данные?
    #33035587
Bagin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И как это можно обойти?
...
Рейтинг: 0 / 0
(HTML, PHP) Как лучше выводить данные?
    #33035652
Фотография 4m@t!c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как все обходят - так и ты обходи. Без переменной - генери текст сразу в выходной поток, а не в переменную.
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
(HTML, PHP) Как лучше выводить данные?
    #33035791
Dmitri P.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
4m@t!cКак все обходят - так и ты обходи. Без переменной - генери текст сразу в выходной поток, а не в переменную.


Существует множество задач, в которых данный способ не приемлем... Если есть необходимость кешировать данные, а потом отправлять, значит так и надо делать. Всегда приходится чем-то принебрегать, что бы другое работало. В данном случае, насколько я понял, необходимо принебречь разбазариванием ресурсов (которых, кстати, и не так много разбазаривается) и скоростью отображения данных в пользу гибкости работы скрипта.
...
Рейтинг: 0 / 0
(HTML, PHP) Как лучше выводить данные?
    #33035853
Bagin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
4m@t!cКак все обходят - так и ты обходи. Без переменной - генери текст сразу в выходной поток, а не в переменную.
Не получится сразу на выход, т.к. неизвестно, будут ли ошибки потом. Если они будут, то первоначальные данные не имеют смысла и вся "картина" на странице будет "кривой". Как их в таком случае отменять?
...
Рейтинг: 0 / 0
(HTML, PHP) Как лучше выводить данные?
    #33035878
Фотография 4m@t!c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторМне так показалось удобнее.
О каком кеширование идет речь?
Человек вставлял-вставлял к переменную содержимое страницы, а потом оказывается, что страницу нельзя отдавать клиенту. Смысл было делать предыдущие манипуляции?
ИМХО, так проще писать код, но не факт, что это будет грамотное решение. я не исключаю варианта, что нужно будет писАть в переменную содержимое страницы, но в силу ограниченности опыта не могу выразиться категорично. Но для чего-то придумали буффер?
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
(HTML, PHP) Как лучше выводить данные?
    #33036097
Bagin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
4m@t!c авторМне так показалось удобнее.
О каком кеширование идет речь? Я новичек, поэтому не понял вопроса.

4m@t!cЧеловек вставлял-вставлял к переменную содержимое страницы, а потом оказывается, что страницу нельзя отдавать клиенту. Смысл было делать предыдущие манипуляции?Заранее не известно, нужны ли эти манипуляции, допустим, получаю первый набор из БД, строю табличку в переменной, при этом высвобождаю память, где содержится сам набор, получаю второй набор и тут оказывается ошибка и в этом случае необходимо перенаправить на другую страницу. Хотя конечно можно хранить все наборы до конца работы скрипта, и в конце отправлять или не отправлять данные, но ресурс в этом случае тоже не экономится.

4m@t!cНо для чего-то придумали буффер? Вот хотелось бы узнать :-) ИМХО, разницы нет под что тратится ресурс, под буффер или под эту переменную. Хотелось бы точно узнать.
...
Рейтинг: 0 / 0
(HTML, PHP) Как лучше выводить данные?
    #33039949
trustno1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С точки зрения логики разработки лучше использовать вывод на основе шаблонов (smarty, например), забивание всего в одну переменную по-моему неправильно
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (HTML, PHP) Как лучше выводить данные?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]