2010-12-07 60 views
0

是否有任何替代方法直接插入一个PHP变量的值到html或javascript以外的<?= ... ?>,这是我的joyent托管服务器似乎不支持。我知道我可以使用回声,但最终会显得笨拙。替代<?= ... ?>语法在php

+1

你试过 2010-12-07 07:16:10

+0

这并不笨拙,我不明白“便携”是如何笨拙。 – 2010-12-07 07:18:16

回答

4

如果short_open_tag由提供商禁用,您将不得不使用<? echo。请参阅php.ini documentation

0

改为使用 <?php echo("some thing"); ?> 。他们不会阻止使用回声功能。

1

根据您的需求,您可以使用定界符,它允许你使用{$...}语法嵌入变量:

<?php 

$var = 5; 

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

你可以让一个函数,看起来水木清华这样的:

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

某处添加此功能,它会在整个应用程序访问,然后使用它是这样的:

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

正如其他提到,<?php echo $string ?>是长版。但是,如果您有权访问php.ini文件,则可以打开<?=--它的short_open_tag。有一件事 - 如果你想让你的代码尽可能的便携,可以使用长标签代替。

0

改为使用<?php ... ?>。这是标准。

0

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

ini_set('short_open_tag', 1); 

尽管如其他人所提到的,您应该只需使用<?php echo $foo; ?>来实现便携性。

0

使用模板引擎!

从逻辑中分离代码总是一个好主意。我喜欢Twig

然后,而不是

Hello, <?php echo $user_name ?>! 

你会写

Hello, {{ user_name }}! 

模板引擎将需要一些时间来学习它,但请相信我,它总是值得的。