我有一些用PHP 5.3编写的旧遗留代码。
此代码中的所有PHP块都是
<? some_php_code_here ?>
而我的Apache只是忽略了它们,而与
配合良好<?php some_php_code_here ?>
为什么旧代码包含无效的块,以及为什么这个旧代码在旧服务器上运行良好?用这么多特殊符号谷歌的东西真的很难,对不起愚蠢的问题
答案 0 :(得分:1)
<?
被称为php短标记
以下是 manual 对此所说的内容
PHP还允许短开标记&lt;? (因为它而气馁 仅在使用short_open_tag php.ini启用时才可用 配置文件指令,或者如果PHP配置了 --enable-short-tags选项)。
您可以在运行时使用<?php ini_set('short_open_tag',1) ?>
但如果你这样做,你就不能像<?xml ?>
一样使用内联xml
而你可以使用
<?php echo '<?xml version="1.0"?>'; ?>
作为附注,我经常使用:
<a href="<?= "$hello_url" ?>"><?= "Hello world" ?></a>
<?= 'foo' ?>
相当于<?php echo 'foo' ?>
,在我看来模板文件看起来更清晰
自php版本5.4起,<?=
不再与short_open_tag
绑定,但在此之前,如果您可能在较旧的php版本上运行代码,则应该小心