男人,我可以发誓我在某处看到它,缩短<?php echo $var ?>
构造的有用语法,我认为它是<?=$var?>
,但它不起作用。我已经搜索了大约半个小时,但无法找到再次告诉我的网站,我无法弄清楚正确的语法。
我是幻觉还是真的有这样的语法?
<div style="background-color:<?=$backgroundColorFromPhp?>">
Hello <?=$name?>!
</div>
男人,我可以发誓我在某处看到它,缩短<?php echo $var ?>
构造的有用语法,我认为它是<?=$var?>
,但它不起作用。我已经搜索了大约半个小时,但无法找到再次告诉我的网站,我无法弄清楚正确的语法。
我是幻觉还是真的有这样的语法?
<div style="background-color:<?=$backgroundColorFromPhp?>">
Hello <?=$name?>!
</div>
PHP有php.ini中的short_open_tag
指令使此语法:
<? PHP code here; ?>
而非<?php PHP code here; ?>
。
这也使
<?= variable ?>
为<? echo variable; ?>
的简写。该文档指出,无论short_open_tag
设置如何,将启用PHP 5.4.0 <?=
。
非常相似的是asp_tags
。它使传统的ASP风格的语法:
<% PHP code here; %>
<%= variable %>
这哪里是回声语法速记最初来自。附注:在传统的ASP <%= ...
将取代相当冗长形式:
<% Response.Write variable %>
当short_open_tag的值为已启用,
<?= $backgroundColorFromPhp ?>
为
<?php echo $backgroundColorFromPhp; ?>
快捷然而,如果short_open_tag的值为被禁用,
<?= $backgroundColorFromPhp ?>
也将被禁止(现有到PHP 5.4)。
你正在尝试做应该做如下
<div style="background-color:<?=$backgroundColorFromPHP ?>">
Hello <?=$name ?>!
</div>
总之,离开后的一个空间的最后?
马克
前,请严格避免呼应你的HTML内容。这只是一种糟糕的风格。始终保持php代码与html元素分离的动态性。
这在我遇到的任何实现中都不是必需的。 – rockerest 2012-03-05 23:10:46
这里唯一的区别是,结束标签'?>'与变量名之间的空格是分隔的吗?这并不能解决问题,'short_open_tags'是解决方案。 :)而那额外的空白并没有使任何差异其实.. – 2012-03-05 23:10:59
是的,这是正确的,给出了一些注意事项。
首先,您必须有short tags on。根据我的经验,这是默认配置,正如上面的文档所述;
其次,您需要PHP解析文件。如果该文件是.html
文件,则不会由php引擎自动分析。您需要通过某种方式运行它,或者告诉php默认阅读.html
文件。
最后,我喜欢将end statement
分号放在那里(使其成为<?=$name;?>
),但我相信这是一个优先选择。
最解释的答案,谢谢。 :)不明白为什么它没有启用,修改php.ini不起作用,但设置WAMP值。 *编辑*:Tomalek首先对他的评论,对不起。 ;) – 2012-03-05 23:13:23
@NiklasR完美公平,很乐意为您服务! – rockerest 2012-03-06 01:34:36
在php中确实有类似这样的语法,它只有在设置服务器使其工作时才起作用,这称为简写,但强烈建议不要使用此技术,因为有些服务器在禁用它并可能提供某些不明身份的错误使用错误。我想我第一次看到这是在wordpress上使用。 )
无论ini设置如何,<?='都可以在PHP 5.4上运行 – Gordon 2012-03-06 09:09:12
感谢提供的信息@Gordon没有想到他们已经将它包含在最新版本中,最终我真的认为大多数人应该真的更新他们的服务器到这个新的版。 ;) – 2012-03-06 23:29:48
http://www.php.net/manual/en/ini.core.php#ini.short-open-tag和http: //www.php.net/manual/en/ini.core.php#ini.asp-tags – Tomalak 2012-03-05 23:04:46
Tomalak的评论是正确的答案! – 2012-03-05 23:08:33
@Tomalak我很担心我的谷歌搜索技巧..:/您介意给出答案吗? Thx – 2012-03-05 23:09:20