是否有任何替代方法可以将php变量的值直接插入除<?= ... ?>
以外的html或javascript中,而我的Joyent托管服务器似乎不支持。我知道我可以使用回声,但最终看起来很笨拙。
答案 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 }}!
模板引擎会花一些时间来学习它,但相信我,它总是值得的。