2011-07-13 58 views
1

我经常使用的HTML模板,我的应用程序和模板内容中有place holder我标记为<?php echo $myVar; ?>使用PHP变量`快速value`在HTML

是否有一个更短的语法是什么?我试过<?php=$myVar?>,但没有工作:D

如果您知道某种方式,请给出提示。谢谢!

<body> 
    <?php $myVar = 122; ?> 
    abb 
    <div> 
     <?php echo $myVar; ?> 
    </div> 
    <div> 
     <?php=$myVar?> 
    </div> 
    ccc 
</body> 
+1

这是''。我认为这将在PHP v6.0版本中被弃用,因此请记住将来。 – Rolice

+1

对于更干净的模板,我会建议一个模板引擎。例如,看看[smarty](http://www.smarty.net/syntax_comparison) –

+1

@Roice <?=现在总是可用,不管php5.4中的short_tags设置为何alpha – RiaD

回答

5
<?=$myvar ?> 

short_open_tag的值为应该是开。

+1

不应该,但必须。 –

+1

+1关于'short_open_tag'的说明。请注意,自PHP 5.4.0起,'<?='始终可用。 –

2

<?=$myVar; ?> 

短标记应与PHP

如果你要使用内联XML与PHP没有启用短标签被激活。

如记录here

如果你想与XML结合使用PHP,你可以以使用内嵌禁用此 选项。否则,你可以用PHP打印它 ,例如:'; ?>。另外,如果禁用了 ,则必须使用PHP开放标记()的长格式。

3

较短的版本是<?=$myVar;?>,但请不要这样做! :(

从注释引用,万一有人怀念它

因为:

  1. 这将不允许在移动服务器的灵活性,即你必须控制的服务器或被允许改变ini 指令[打开short_open_tag],否则你注定要失败。

  2. 它可能在将来被弃用

  3. 可读性不是功能的交易。期。

+0

为什么不这样做?在PHP 5.4中...它将默认启用。 – daGrevis

+2

因为这需要启用short_open_tag,这可能与 xml冲突。 – viper

+0

为什么不呢?你真的想看到很多回声? – RiaD

3

如果启用,您可以使用短标签。

<?= $var; ?> 

这是一样的这样做:

<?php echo $var; ?> 

要这样设置,你可以在这里找到的信息,但是我们不推荐您使用此方法。

http://php.net/manual/en/ini.core.php

如果ASP代码启用你也可以做这样的事情:

<%=$var; %> 

<% echo $var; $> 
0

你可以使用双引号的回声是这样的:

<?php 
$myVar = 122; 
echo " 
<body> 
    abb 
    <div> 
     whatever and $myVar displayed here 
    </div> 
    <div> 
     The content is: $myOtherVar 
    </div> 
    sometext 
</body> 
"; 
?> 

但考虑使用模板面向对象编程。这将是更清洁:

Template::header();//Echoes your template header 

Template::content($myContentText,$myWhateverVar);//Echoes your template filled with your vars 

HTH, 咖啡因