Ежемесячные архивы: Март 2012

Несколько слов в защиту heredoc, или практика – лучший критерий истины.

В своем php-коде для определения многострочных строк я обычно прибегаю к heredoc-синтаксису.

Например все sql-запросы в моем php-коде выглядят примерно так:

        $this->query['get'] = <<< EOD
    select o.`id`                        ,
           o.`email`                     ,
           o.`password`                  ,
           o.`login`                     ,
           o.`realname`                  ,
           o.`id_role`                   ,
           o.`log_id`                    ,
           o.`ctime`                     ,
           o.`utime`                     ,
           r.`title`      as `role_title`,
           r.`name`       as `role_name`
      from `users` as o
      join `roles` as r on r.`id_role` = o.`id_role`
    /*WHERE_OPTS*/
    /*ORDER_OPTS*/
    /*LIMIT_OPTS*/
EOD;

Часто можно услышать, что heredoc-синтаксис работает медленнее, чем его коллеги – двойные кавычки. Где написано что он на 20-30% медленнее, где-то что аж в десять раз.

Я решил выяснить действительно ли это так. Читать далее »