2010-12-07 57 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 }}! 

模板引擎將需要一些時間來學習它,但請相信我,它總是值得的。