<?php vs <? …Does it matter? [duplicate]

北战南征 提交于 2019-12-02 06:40:48

问题


Possible Duplicate:
Are PHP short tags acceptable to use?

<?php
    //Some code
?>

or

<?
    //Some code
?>

I know the first way is the proper way but PHP code isn't validated. So, besides it saving extra typing & bytes, does it matter?

update Thanks for the replies...

  1. I had no idea they were called short tags (hence why I didn't find the duplicate SO question)
  2. I had no idea there was a specific server configuration option to allow/disallow the short tags.

Thanks again


回答1:


It does, if anyone ever uses your code on a server where short tags are disabled. I work with several servers where they are. Other than that though, no. Using the short version makes your script less portable though for the above mentioned reason. This may or may not be an issue for you.

This is another issue entirely, but related. If you are trying to generate certain types of files from PHP (XML is the candidate that comes up most often for me) then having short tags can be an issue. For instance, the following causes a PHP syntax error:

<?xml version="1.0" ?>

You must instead write the following on a server that has short tags enabled:

<?php echo '<?xml version "1.0" ?>'; ?>

Gah!




回答2:


If your project is likely to be deployed on different servers (open source software, for example) it is best to always use <?php

However, if you're like me, and always strive for maximum portability, use <?php even if you don't believe your software will ever leave your server. Most servers have short tags enabled.

However, if they have short tags disabled, and you use them, your PHP will be exposed to the world (if under the document root).




回答3:


No difference it's just a matter of preference I think, plus why should it matter? it's just another 3 bytes.

Edit:

Forgot to say that you have to enable short hand in php.ini




回答4:


the closing bracket is not compulsory




回答5:


On some systems, the default option for the short_open_tags is off, so the latter doesn't work, while the former does, so it can completely break your website if you use the second. Personally, I just like to override the setting and use the second.




回答6:


<? ?>

are short tags, if short tags are off it won't work.



来源:https://stackoverflow.com/questions/1592865/php-vs-does-it-matter

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!