"PHP" / Говнокод #18823 Ссылка на оригинал

0

  1. 1
<?php echo "$some_var"; ?>

Запостил: 3_dar 3_dar, (Updated )

Комментарии (11) RSS

  • Мне кажется, что в байткоде это будет неотличимо от echo $some_var.
    Ответить
    • Оптимизирующий PHP-интерпретатор? Не в этой жизни.
      Ответить
    • Когда кажется, осенить себя крестным знамением надо!

      Шутки в сторону:
      <?php 
      function my_echo($s) { echo $s; }
      function my_print($s) { print($s); }
      function my_tags($s) { ?>$s<?php ; }
      function my_interpolation($s) { echo "$s"; }


      Выхлоп php_vld:
      function name:  my_echo
         2     0  >   RECV                                                     1
               1      ECHO                                                     !0
               2    > RETURN                                                   null

      ***
      function name:  my_print
         3     0  >   RECV                                                     1
               1      PRINT                                            ~0      !0
               2      FREE                                                     ~0
               3    > RETURN                                                   null

      ***
      function name:  my_tags
         4     0  >   RECV                                                     1
               1      ECHO                                                     '%24s'
               2    > RETURN                                                   null

      ***
      function name:  my_interpolation
         5     0  >   RECV                                                     1
               1      ADD_VAR                                          ~0      !0
               2      ECHO                                                     ~0
               3    > RETURN                                                   null


      P.S. my_tags — неправильный пример. Но «короткий» тег <?= ... ?> тоже компилируется в echo.
      Ответить
      • Больше ада:
        function my_printf($s) { printf($s); }
        function my_heredoc($s) { echo <<<PITUH
        $s
        PITUH
        ; }

        Выхлоп:
        function name:  my_printf
           6     0  >   RECV                                                     1
                 1      SEND_VAR                                                 !0
                 2      DO_FCALL                                      1          'printf'
                 3    > RETURN                                                   null

        ***
        function name:  my_heredoc
           7     0  >   RECV                                                     1
           8     1      ADD_VAR                                          ~0      !0
          10     2      ECHO                                                     ~0
                 3    > RETURN                                                   null
        Ответить
    • И на всякий случай (вдруг кому-то лень читать простыню) ответ: "$some_var" (sic, в кавычках) создаёт локальную переменную и копирует в неё значение $some_var.
      Ответить
      • Немного приврал: на самом деле выполняет конкатенацию с пустой строкой. Но в любом случае лишняя операция.
        Ответить

Добавить комментарий

Из-за тебя ушел bormand, guest!

    А не использовать ли нам bbcode?


    8