Subject: Re: short_open_tag

> I am still +1 on some how getting away from short_open_tag support, if
> nothing else, to encourage better coding practices (just as we did with
> turning register_globals off by default).

I fail to see how using <?php is "better coding practices". Unless you
plan on distributing your code to the masses or mixing XML/XHTML without
trivially escaping it, I see absolutely no point in using <?php over <?.

In reality, very few people intermix PHP and XML. It just doesn't make a
whole lot of sense to do so. People tend to keep the two separate and
parse the XML from PHP.

In the XHTML case, a lot of people mistakenly believe that they must start
their documents with an <?xml encoding=...?> tag, which if you read the
XHTML spec, is actually not necessary. The only use for the XML encoding
tag is for XML parsers to get the right character encoding. Browsers,
which are typically the target of PHP generated pages, get their character
encoding from the Content-type header, or optionally from a similar meta
tag. But even if you choose to put in the XML encoding tag, I find it a
hell of a lot easier to just put <?echo '<?xml encoding="foobar"?>'?> at
the top instead of changing hundreds of <? tags to <?php

PHP became popular because it eliminated most of the tediousness of
writing CGI scripts or low-level Apache modules. If we slowly but surely
eliminate all the convenience aspects of PHP we are going to turn the
experience back into one of tedium again.

PHP is not a pure language. It never will be. The problem it solves is
ugly. Ugly problems often require ugly solutions. Solving an ugly
problem in a pure manner is bloody hard. PHP's aim is to make solving the
web problem easy. Ergo, therefore, Q.E.D, removing all the "ugly"
features of PHP is going to make it harder and harder to use PHP to solve...

the web problem.


PHP Development Mailing List <>
To unsubscribe, visit:

Programming list archiving by: Enterprise Git Hosting