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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как будет быстрее работать? 
V
    Опции темы
zammar
Дата 19.8.2009, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Класс Class формирует html код поля формы(например '<input type="text" name="name">...');

Метод getHtml возращает собственно html код поля.

Код


$fld_1 = new Class(param, param);
$fld_2 = new Class(param_1, param_1);
$fld_3 = new Class(param_2, param_2);

echo $fld_1->getHtml().
         'html_string'
        .$fld_2->getHtml().
         'html_string'.
         $fld_3->getHtml();

Код

$fld = new Class(param, param);
echo $fld->getHtml().
         'html_string';

$fld = new Class(param_1, param_1);
echo $fld->getHtml().
         'html_string';

$fld = new Class(param_2, param_2);
echo $fld->getHtml();



Проще говоря чему в данном случае нужно отдать предпочтение (что быстрее будет) вызовам echo или созданию новых переменных $fld_1,
$fld_2 ....
PM   Вверх
MoLeX
Дата 19.8.2009, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 46
Всего: 140



в начало
Код

$time = microtime(TRUE);


в конец
Код

echo substr((microtime(TRUE) - $time), 0, 10);


и замеряй


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
NewDima
Дата 19.8.2009, 11:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 922
Регистрация: 20.2.2006
Где: <?here?>

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



Цитата(zammar @ 19.8.2009,  18:15)
чему в данном случае нужно отдать предпочтение (что быстрее будет) вызовам echo или созданию новых переменных $fld_1,
$fld_2 ....

как-будто переменные $fld_1 ты выводить потом не будешь. Ну и зачем тогда здесь неиспользуемые посредники?
получается так:
Код

$var = 'variable value';
echo $var;

вместо
Код

echo 'variable value';

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


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Я думаю, советы замерить время тут неуместны.
Как и сам очередной вопрос на тему "как быстрее". 

Данная конструкция не может стать узким местом, требующим хоть какой-то оптимизации. 

Почему никогда никого не интересует архитектурная грамотность, возможность повторного использования, совместимость с кодом остального сайта? А только не имеющее никакого смысла "как быстрее"?

Очевидно, что полученный таким образом html надо будет встраивать в вывод шаблона.
То есть, код этих автоформ надо именно возвращать, а не печатать напрямую. 

А вопросы "что быстрее" надо задавать только после знакомства с таким инструментом, как профайлер. А от не знающих на тему производительности вопросов не принимать.
PM MAIL   Вверх
NewDima
Дата 19.8.2009, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 922
Регистрация: 20.2.2006
Где: <?here?>

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



Цитата(Ипатьев @ 19.8.2009,  20:16)
Очевидно, что полученный таким образом html надо будет встраивать в вывод шаблона.
То есть, код этих автоформ надо именно возвращать, а не печатать напрямую.

Не очевидно и не всегда так, взять хотя бы пример зенда, с его помощниками видов
А в остальном полностью согласен, но думаю MoLeX даже не смотрел на части кода, которые нужно сравнивать, просто логика такая: если человеку делать нечего, то пусть замеряет и сравнивает. А я высказал общее замечание по коду об абсурдности использования посредников в таком месте
PM ICQ   Вверх
MoLeX
Дата 20.8.2009, 05:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 46
Всего: 140



Цитата(NewDima @  19.8.2009,  14:26 Найти цитируемый пост)
просто логика такая: если человеку делать нечего, то пусть замеряет и сравнивает.

 smile 

потому что такие вещи и не надо замерять, но если zammar хочет то пусть, нам его зачем отговаривать?!

Добавлено через 3 минуты и 3 секунды
а лучше код переделать в нечто подобное
Код

$fld = new Class();
echo $fld->getHtml(param, param).'html_string';
echo $fld->getHtml(param_1, param_1).'html_string';
echo $fld->getHtml(param_2, param_2).'html_string';


и не надо несколько раз объявлять класс

Это сообщение отредактировал(а) MoLeX - 20.8.2009, 05:44


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
nerezus
Дата 20.8.2009, 06:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


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

Репутация: 12
Всего: 43



zammar, 
Есть такое понятие, как MVC.
Если хочешь нормальный код, то следуй ему.

Далее. Быстрее работает одинаково.

Цитата

помоему ответ очевиден
  smile 

Цитата

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


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

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


 




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


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

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