ID:               16763
 Updated by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
 Status:           Closed
 Bug Type:         Feature/Change Request
 Operating System: ALL
 PHP Version:      4.2.0
 New Comment:

Removing <?= would also improve consistency.

I don't buy the consistency argument.


Previous Comments:
------------------------------------------------------------------------

[2002-04-25 19:13:34] [EMAIL PROTECTED]

I porposed the same thing monthes ago. I agree. It's strange not to
have <?php= since <?php tag is the only portable tag.

Anyway, in PHP, there are too many inconsistency to note and it's one
of them.



------------------------------------------------------------------------

[2002-04-25 17:36:03] [EMAIL PROTECTED]

Do you mind if I ask why not?  It's half-way implemented as it stands. 
Both of the 'short form' tags support the behavior, what was the
reasoning behind not supporting it in the 'long form' tag?

Other than Rasmus's claim that he '...can't think of anything uglier
and less sensical...".  If that was the reason for not fully supporting
the form, why was it partially implemented in the first place?

------------------------------------------------------------------------

[2002-04-23 15:22:44] [EMAIL PROTECTED]

this was discussed to death on php-dev. it's not going to happen.

------------------------------------------------------------------------

[2002-04-23 15:05:37] [EMAIL PROTECTED]

Seeing as how '<?=' and '<%=' are both equivalent to '<?php echo', I
kind of figure that '<?php=' should also be equivalent, but it is not.

Having run into this before, I asked about it and somebody told me it
was in the works to get taken care of for 4.2.0.  I checked and it
doesn't seem to be fixed, so I decided to do a bit of hunting to see if
it was within my capabilites.  I *think* I've found the changes which
need to be made, but I'm not absolutely certain.

Having searched through all of the source code for all occurrances of
'<%=' and '<?=', I discovered that they only exist (outside of
comments) in one source file.

That said, I *believe* that the following changes to
php-4.2.0\Zend\zend_language_scanner.l would cause '<?php=' to become
equivalent to '<?php echo' just as the other, shorter tags allow.

I don't know how to make an actual patch file, or where to submit it so
here goes.  First is the two-line change to zend_language_scanner.l
that would seem to enable the shorthand.  Second is the one-line change
to zend_language_scanner.c (just in case the two have to be maintained
seperately).
This should be easily back-portable to previous code trees.

file: php-4.2.0\Zend\zend_language_scanner.l;
replace: lines 941-942;
- - - - - START - - - - -
<INITIAL>"<%="|"<?="|"<?php=" {
        if ((yytext[1]=='%' && CG(asp_tags)) || (yytext[1]=='?' &&
CG(short_tags)) || (yytext[1]=='?' && yytext[2]=='p' && yytext[3]=='h'
&& yytext[4]=='p')) {
- - - - - STOP - - - - -

file: php-4.2.0\Zend\zend_language_scanner.c;
replace: line 4086;
- - - - - START - - - - -
        if ((yytext[1]=='%' && CG(asp_tags)) || (yytext[1]=='?' &&
CG(short_tags)) || (yytext[1]=='?' && yytext[2]=='p' && yytext[3]=='h'
&& yytext[4]=='p')) {
- - - - - STOP - - - - -


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=16763&edit=1

Reply via email to