Отладочная информация как оформлять

craz

Нестандартное звание
Отладочная информация как оформлять

PHP:
<?php  class Timer {      
static protected $Timers = array();       
static public function Set($num = 0)      {
           list(self::$Timers[$num]['secs'], self::$Timers[$num]['msecs']) = self::Current(); 
}       
static public function Get($num = 0)      {
           list($secs, $msecs) = self::Current();
           $lsecs  = $secs;           $lmsecs = $msecs;
           $secs  = $secs  - self::$Timers[$num]['secs'];
           $msecs = $msecs - self::$Timers[$num]['msecs'];
           self::$Timers[$num]['secs']  = $lsecs;
           self::$Timers[$num]['msecs'] = $lmsecs;
           return ($secs + $msecs);      
}      
 static protected function Current()      { 
          $arr = explode(' ', microtime()); 

          return array($arr[1], substr($arr[0], 0, 7)); 
     } }
Есть такой класс, я думаю понятно что он собой представляет им очень удобно мерить время выполнения скриптов.

Дальше начался спор, понятно что когда мы пишем полноценное MVC в модели быть не может хтмл кода, но как быть здесь, я хочу в виде выводить время 1) для себя(что я предлагаю: дописать в класс функцию возвращающую хтмл код замеров)
2) получить универсальный код, и когда это понадобиться выводить данную информацию на страницу, в подготовленное для этого место в виде(поскольку такое бывает очень редко, мало программистов все таки меряются сами знаете чем в плане генерации страниц и запросов к бд, так как железо везде разное по сути, правильно было бы отнаследовать от этого класса и прописать функцию которая выводила бы эти данные в xml,json etc в нужно формате и нужного вида и вставляла бы это все в вид)

Таким образом вопрос, сейчас оставлять этот класс в покое, и поскольку вся отладочная информация нужна только разработчику, выводить цифирки выполнения в виде и там его оформлять, или все таки доделать класс для разработчика, т.е. вся информация чтоб имела приятный вид висела где нибудь вверху страницы и не мазолила глаз внутри вида, то есть написать таки функцию/ метод вывода хтмл? Или не писать ее внутри класса а обрабатывать внутри вида?

Вот как то так.... спор не шутучный так что прошу вашего понимания.


P.s. просто нас учат драться - плохо, паралельные прямые - не пересекаються, модель не занимается отображением: может в данном случае проще отказаться от того что это модель? и назвать ее вспомагательным классом?
 

DiMA

php.spb.ru
Команда форума
задумайся над тем, что скрипт можно выполнить с консоли, т.е. в таком случае бенчмарк должен все выдать с учетом текстового вида
 

craz

Нестандартное звание
Автор оригинала: DiMA
задумайся над тем, что скрипт можно выполнить с консоли, т.е. в таком случае бенчмарк должен все выдать с учетом текстового вида
спасибо большое за совет, с этой точки зрения я даже как то не думал над запуском тестов. т.е. по вашему нефик заморачиваться над удобством? достаточно просто эхаться в нужных местах?

[offtop] microtime(true) - тру [/offtop]
это вообще не понял к чему к сожалению:(
 

craz

Нестандартное звание
спасибки) чето я в олдскул ударился)
 

DYPA

Настоящая dypa (c)
xdebugом нада мерить а не страдать хернёй
 

Krishna

Продался Java
xdebugом нада мерить а не страдать хернёй
Поправочка - им профилировать хорошо, а не мерять :)
Мерять можно с помощью ab :)
А xdebug даёт относительные показатели, но абсолютные он сам же и портит.

Топик стартеру
1) подучить сначала русский язык, а потом уже осваивать другие
2) google://FirePHP
 

DYPA

Настоящая dypa (c)
2 Krishna:
1) ab измеряет скорость работы связки php + вебсервер, так что получиться не совсем нужный результат
2) невозможно измерить скорость работы консольного приложения

>А xdebug даёт относительные показатели, но абсолютные он сам же и портит.
есть такое, но что поделать...
 

Krishna

Продался Java
так что получиться
эпидемия чтоли?

-~{}~ 07.10.09 22:50:

Результат в любом случае получится куда ближе к истине, чем у xdebug.
И собственно нах измерять пхп без вебсервера? Сферический конь в вакууме?
 

AmdY

Пью пиво
Команда форума
согласен с DYPA, нужно делать профайлинг, чтобы найти слабые места, а измерения время выполнения нужно только для собственного эго. да и есть замечательный инструмент Pinba, а не всякие велосипеды.
 

Krishna

Продался Java
может в данном случае проще отказаться от того что это модель? и назвать ее вспомагательным классом?
З.Ы. Это ни разу не модель. Модель - это представление данных предметной области, с которой работает пользователь.
 

craz

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

2Krishna - зачем тролить про язык? не вежливый и не воспитанный не тот кто пьет чай, а внутри ложка, а тот кто это замечает, и пытается показать, что вот он какой хороший. Что для вас не приемлемо в русском языке, то с некоторых пор(недавно) уже стало стандартом в русском языке и не моя в этом вина. ться тся для меня всегда было даже в школе сложно, мне что апстенку убиться если вам не нравится?
+ я не осваиваю язык php, данный этап пройден, и вопрос не в том как что написать, а как это теоретически правильно так что ваши ремарки я отношу в раздел чистейшего флейма!

И еще раз спасибо всем другим участникам дискуссии.

Автор оригинала: AmdY
согласен с DYPA, нужно делать профайлинг, чтобы найти слабые места, а измерения время выполнения нужно только для собственного эго. да и есть замечательный инструмент Pinba, а не всякие велосипеды.
А вот этому высказыванию я почему-то склонен верить и я ему последую)
 

Krishna

Продался Java
зачем тролить про язык?
Затем, что читать противно.
Что для вас не приемлемо в русском языке, то с некоторых пор(недавно) уже стало стандартом в русском языке и не моя в этом вина.
Ну да, ну да :D
. ться тся для меня всегда было даже в школе сложно, мне что апстенку убиться если вам не нравится?
Давай научу. "Что делает?" - тся. "Что делать?" - ться.
 

Krishna

Продался Java
zerkms
Вау, круто, спасибо!
Твоё творчество? :)

У топикстартера, правда, ещё других "проблем" полно)
 
Сверху