php中的<! - ?= ...? - >语法的替代方案

时间:2010-12-07 07:10:57

标签: php

是否有任何替代方法可以将php变量的值直接插入除<?= ... ?>以外的html或javascript中,而我的Joyent托管服务器似乎不支持。我知道我可以使用回声,但最终看起来很笨拙。

8 个答案:

答案 0 :(得分:4)

如果您的提供商禁用short_open_tag,则必须使用<? echo。请参阅php.ini documentation

答案 1 :(得分:1)

根据您的需要,您可以使用Heredoc,它允许您使用{$...}语法嵌入变量:

<?php

$var = 5;

print <<<__END_OF_BLOCK__
The value of var is: {$var}
__END_OF_BLOCK__;

答案 2 :(得分:1)

正如其他人所说,<?php echo $string ?>是长版本。但是,如果您可以访问php.ini文件,则可以打开<?= - 它是short_open_tag。但有一点 - 如果您希望代码尽可能便携,请改用长标签。

答案 3 :(得分:0)

使用     <?php echo("some thing"); ?> 代替。它们不会阻止使用回声功能。

答案 4 :(得分:0)

你可以制作一个看起来很像的函数:

function _e($str)
{
   echo $str;
}

将此功能添加到可在整个应用中访问的位置,然后像这样使用它:

<?php _e('hello world');?>

答案 5 :(得分:0)

请改用<?php ... ?>。这是标准的。

答案 6 :(得分:0)

尝试在脚本开始时抛出它。

ini_set('short_open_tag', 1);

虽然正如其他人所提到的那样,你应该只使用<?php echo $foo; ?>来实现可移植性。

答案 7 :(得分:0)

使用模板引擎!

将代码与逻辑分开始终是个好主意。我喜欢Twig

然后,而不是

Hello, <?php echo $user_name ?>!

你会写

Hello, {{ user_name }}!

模板引擎会花一些时间来学习它,但相信我,它总是值得的。