Categories
Posts

Closing PHP Tag – More Work

I was testing PHP code with VLD and noticed something odd. If I left off the final closing PHP then there were fewer ops. Here is an example:

[sourcecode lang=”php”]
<?php
$first_name = ‘Joseph’;
$last_name = ‘Scott’;
?>
[/sourcecode]

has 6 ops:

line     # *  op                  operands
------------------------------------------
   2     0  >   EXT_STMT                                                 
         1      ASSIGN           !0, 'Joseph'
   3     2      EXT_STMT                                                 
         3      ASSIGN           !1, 'Scott'
   5     4      EXT_STMT                                                 
         5    > RETURN              1

The same file, minus the closing PHP tag:

[sourcecode lang=”php”]
<?php
$first_name = ‘Joseph’;
$last_name = ‘Scott’;
[/sourcecode]

has only 5 ops:

line     # *  op                operands
-----------------------------------------
   2     0  >   EXT_STMT                                                 
         1      ASSIGN        !0, 'Joseph'
   3     2      EXT_STMT                                                 
         3      ASSIGN        !1, 'Scott'
   4     4    > RETURN         1

I trimmed the VLD output to make it easier to read.

Boils down to an extra EXT_STMT op when the closing PHP tag is included.