[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: output_buffering
Gabriel
вот сегодня столкнулся с таким вот вопросом.
Mожет ли повлиять влключение етой настройки какмлибо негативным образом на работу сайтов, если да то каким образом? и вообше стоит ли его включать не будет ли каких либо осложнений от включенности?



Спустя 4 минуты, 27 секунд (30.10.2009 - 00:35) twin написал(а):
Поговаривают что тормозит это. Хотя сам я не проверял...
Попробуй замерить. А больше ничего особого нет в этом явлении.

Спустя 3 минуты, 37 секунд (30.10.2009 - 00:39) Gabriel написал(а):
twin
тоесть может притормозить отображение сайта? и более никаких критических похледствий небудет? ето есть гут! особобольших ресурсов на тазике нет знач завтра бум пробовать:)

Спустя 3 часа, 11 минут, 15 секунд (30.10.2009 - 03:50) kirik написал(а):
Gabriel
А можно спросить, зачем ты включаешь эту настройку? smile.gif

Спустя 7 часов, 18 минут, 46 секунд (30.10.2009 - 11:09) Gram написал(а):
Всегда пользуюсь ob_start и не замечал чтоб тормозило. Функция очень полезна для формирования title, keywords, description. Можно конечно обойтись без нее, сохраняя весь вывод в переменную, хотя бы до тех пор, пока не повытаскиваешь из базы метаданные, и все таки мне кажется, что встроенная функция должна работать быстрее.

Спустя 18 минут, 31 секунда (30.10.2009 - 11:27) glock18 написал(а):
В пхп-программировании, как и другом веб-программировании, является хорошим стилем сначала делать все расчеты, а уже потом выводить, тем самым избегая перемешивания html и php. В этом случае никакая дополнительная буферизация не нужна.

Спустя 1 час, 37 минут, 13 секунд (30.10.2009 - 13:04) Gram написал(а):
У меня не так много опыта, чтоб с вами спорить, но как вы объясните применение этой функции в довольно серьезных проектах, распространяющихся бесплатно, в которых принимают участие не один, не два, а группа разработчиков? По всей видимости они тоже не плохие программисты, но почему-то позволяют себе применять ob_get_contents, значит все таки имеет смысл применение этой функции. А после подключения к базе, например, уже можно включать шапку, и как бы не менялась дальнейшая логика скрипта... да вот же оно

Спустя 16 минут, 39 секунд (30.10.2009 - 13:21) glock18 написал(а):
Gram
мне тож спорить не охота. серьезные проекты не смешивают код и хтмл. если юзают буферизацию, то по другим причинам, и вполне вероятно обоснованным.

поверь, ни один серьезный проект не делает буферизацию для того, чтобы когда выведено полстраницы, наткнувшись на какое-то условие, сделать редирект.

опенсорс, о котором ты говоришь, а это, вероятно, всякие форумы, цмс и прочие подобные "серьезные проекты" далеки от того, что бы могло называться качественным кодом.

Спустя 8 минут, 48 секунд (30.10.2009 - 13:30) Gabriel написал(а):
kirik
та заморочка с заголовками как всегда.
glock18
ты прав на все 1000% ибо нехороший тон делать сайт зависимым от такой настройки в пхп.ини ша вот пришло какоето очередное нубское решение точнее половина его. ибо как помирить сесси с редиректом без об_старт, или включения буферизации до меня так и не дошло.
Gram
то что над проектом работает группа разработчиков еше не говорит что он будет качественным

Спустя 13 минут (30.10.2009 - 13:43) glock18 написал(а):
Gabriel
А решение, на самом деле простое донельзя:

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

Ммм... подумал еще: пусть нужно будет еще какие-нить новости вывести отдельно от всего.

Банально донельзя:
1. проверяем есть ли права или нет. если нет - редиректим.
2. проверяем пришла ли форма. если все ок - редиректим.
3. собираем юзеров из базы. класть просто в массив. до этого момента и после еще ни символа не должно быть отправлено в буфер вывода.
если юзеров нет, то спокойно делаем редирект.

4. собираем новости. делаем аналогично тому, что с юзерами - кладем в массив, редиректим, если что-то не так.

5. выводим все на экран. за источники данных берутся соответственно данные, полученные в ходе вычислений.

Спустя 4 минуты, 53 секунды (30.10.2009 - 13:48) Gabriel написал(а):
glock18
О_о чет до мну недохоти нужно пойти покурить и еше раз почитать. но с моими знаниями помирить логику с моей структурой будет тяжковато:) а задача в том чтобы не менять засположение файлов а только логику:) но так как людиже ето делают значит чем я хуже:)

Спустя 1 час, 3 минуты, 10 секунд (30.10.2009 - 14:51) Gabriel написал(а):
glock18
чето из твое решение я не особо понял особенно причем тут права:) а с заголовками вродь как помирил просто файлы с прикрепляюшейся логикой вывел до вывода хтмл хедера думаю помирить ето все не так и тяжело как кажеться:)

Спустя 4 часа, 59 минут, 12 секунд (30.10.2009 - 19:50) kirik написал(а):
Цитата (Gabriel @ 30.10.2009 - 05:30)
та заморочка с заголовками как всегда.

Тогда не смей включать! smile.gif Пиши так, чтобы не выскакивали эти проблемы. Всегда пиши в E_ALL | E_STRICT, никогда не гаси ошибку собакой (только в очень редких случаях). Тогда у тебя выйдет толковый проект. А когда будешь так писать, тогда включай хоть че (если конечно еще нужно будет) smile.gif

Спустя 1 час, 33 минуты, 16 секунд (30.10.2009 - 21:23) Gabriel написал(а):
kirik
Цитата
E_ALL | E_STRICT

а для особо одареных?
ну вот я и сказал что буду логику мирить:) атож совсем нехорошо создавать зависимость проекта от такой настройки. Собаки в жизни не писал и писать не собираюсь:) пораже из нупства вылазить ато стыдно уже

Спустя 35 минут, 45 секунд (30.10.2009 - 21:59) kirik написал(а):
Цитата (Gabriel @ 30.10.2009 - 13:23)
а для особо одареных?

В самом начале каждого скрипта:
PHP
error_reporting(E_ALL E_STRICT);


Цитата (Gabriel @ 30.10.2009 - 13:23)
атож совсем нехорошо создавать зависимость проекта от такой настройки.

угумс)

Спустя 1 час, 9 минут, 50 секунд (30.10.2009 - 23:09) Gabriel написал(а):
kirik
блин шо я только не пишу ну никаких ошибок нотисов или чеголибо подобного dry.gif


_____________
one step, two steps HERE WE GO!!!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.