2011-11-02 93 views
1

我有一些php变量需要在模板文件中吐出。PHP模板变量<?=

通常我会做<?php echo $var; ?>但我知道你也可以做<?=$var?>它会做同样的事情。

我知道我已经看到“启用php短标签”或类似的设置。这意味着服务器将解释这两个<?<?php

我的问题是,必须允许短标签,以获得变量的方法<?=$var?>

谢谢!

+1

http:// stackoverflow。com/questions/3737139/reference-what-does-this-symbol-mean-in-php –

+0

@Mike。这是一个很好的帖子。 –

回答

5

这取决于PHP版本。

从5.4.0开始,<?=总是有效。在此之前,需要在PHP.ini中启用short_open_tag

参见:http://php.net/manual/en/ini.core.php

我会避免使用它们,最大的可移植性。

+0

+1。在4秒前我得到了。 –

+1

还应该指出的是,PHP 5.4仅在beta版本中。这基本上意味着short_open_tag需要在任何实际应用中运行。 –

0

是的,短标签需要<?=。人们讨厌短标签,因为“你的代码不可移植,新服务器可能没有启用!”。所以......如果你要提高可移植性,请避免使用短标签。如果您可以保证操作环境并可以打开它们,请随时使用它们。

+2

最近这个变化了。见http://php.net/manual/en/ini.core.php。 – Brad

+0

现在,这相当方便...感谢您指出。 –

0

由于PHP 5.4.0,<?=始终可用。在此之前,必须允许使用short_open_tag。

0

答案是肯定的了之前5.4.0 PHP版本:

注: 这个指令也影响了速记<?= PHP 5.4.0,这是相同的<?回声之前。使用此快捷方式需要打开short_open_tag。由于PHP 5.4.0,<?=始终可用。

0

从手册:

使用短标记应制定关于不属于你的控制之下PHP 服务器应用程序或都是为了再分配 库,或部署时,应避免,因为短标记目标服务器上可能不支持 。对于便携式,可再发行的代码, 请务必不要使用短标签。

此外,

此指令也影响了速记<?= PHP 5.4.0,其 相同<? echo之前。使用此快捷方式需要打开short_open_tag 。由于PHP 5.4.0,<?=始终可用。