Forum Webscript.Ru

Программирование => PHP => Тема начата: D1g174LM4n14c от 18 Апреля 2003, 19:51:16

Название: Оптимизация или лишняя трата времени?
Отправлено: D1g174LM4n14c от 18 Апреля 2003, 19:51:16
Как вы считаете, рациолнально ли использовать следующее решения для (хоть какого-то) уменьшения объема загружаемых пользователем данных:


// header.inc.php
// {

function kill_format($buffer) { return preg_replace(\'/ {2,}|\\r|\\n|\\t/\', \'\', $buffer); }

ob_start(\'kill_format\');

// }



// footer.inc.php
// {

ob_end_flush();

// }



// script.php
// {

require \'header.inc.php\';

// output data...

require \'footer.inc.php\';

// }


Таким образом из выходного потока удаляются лишние пробелы и символы \\r\\n ...

Если есть такие места в выходном потоке где использование такого "способа сжатия" нежелательно, тогда просто можно окружить это место вызовом двух ф-ций:


ob_end_flush();

// ...форматно-зависимые данные...

ob_start(\'kill_format\');
Название: Оптимизация или лишняя трата времени?
Отправлено: Tronyx от 18 Апреля 2003, 20:24:13
Впринципе да, но я лучше бы ОДИН раз обработал свои шаблоны, а не каждый раз обрабатывал бы вывод.
Название: Оптимизация или лишняя трата времени?
Отправлено: D1g174LM4n14c от 18 Апреля 2003, 20:34:40
Да, но если же в последствии редактировать код - то это геммор получается. А так лишние затраты, я так понял, только на вызов ф-ции preg_replace()... Функции контроля вывода практически не влияют на скорость, так как просто буферизируют output и не делают ничего особенного, считая по временным затратам...
Название: Оптимизация или лишняя трата времени?
Отправлено: Макс от 18 Апреля 2003, 20:54:08
хмм...
А ведь таким образом можно испортить внешний вид
Например текст тегов
:
			
Название: Оптимизация или лишняя трата времени?
Отправлено: D1g174LM4n14c от 18 Апреля 2003, 20:59:02
Цитировать
Макс:
хмм...
А ведь таким образом можно испортить внешний вид
Например текст тегов
:


см. выше:

Цитировать
D1g174LM4n14c:
Если есть такие места в выходном потоке где использование такого "способа сжатия" нежелательно, тогда просто можно окружить это место вызовом двух ф-ций:
ob_end_flush();

// ...форматно-зависимые данные...

ob_start(\'kill_format\');
Название: Оптимизация или лишняя трата времени?
Отправлено: Макс от 18 Апреля 2003, 21:12:44
сорри, не заметил.
Вообще-то я шаблонизаторами пользуюсь и у меня почти всегда сначало полностью html-код генерируется и потом за один раз все выводится
echo $tmpl->content;

поэтому мне твой вариант неудобен :(
Название: Оптимизация или лишняя трата времени?
Отправлено: D1g174LM4n14c от 18 Апреля 2003, 22:07:09
тю... как-то я про это не подумал... щас в свой класс это встрою.. чтобы проще было. спасибо :)