在PHP的PHPvariables没有其他方式比:<?php echo $ var; ?>
我在混合的HTML和PHP中工作了很多,大部分时间我只是想要一些带有PHPvariables的纯HTML,所以我的代码如下所示:
<tr><td> <input type="hidden" name="type" value="<?php echo $var; ?>" ></td></tr>
这是相当丑陋的。 是不是有更短的东西,更像以下?
<tr><td> <input type="hidden" name="type" value="$$var" ></td></tr>
这是可能的,但你卡住了""
(你必须全部用''
replace),布局不见了
echo "<tr><td> <input type="hidden" name="type" value="$var" ></td></tr>"
有更好的吗?
有代码的短标签版本,尽pipe陈旧的build议, 现在完全可以接受使用 :
<tr><td> <input type="hidden" name="type" value="<?= $var ?>" ></td></tr>
(在PHP 5.4之前)需要在你的PHPconfiguration中启用短标签。 它的function与您input的代码完全相同; 这些行在内部实现方面是完全相同的:
<?= $var1, $var2 ?> <?php echo $var1, $var2 ?>
这就是内置解决scheme。 有很多第三方模板库可以让你在输出中更容易embedded数据, smarty是一个很好的开始。
使用HEREDOC语法。 您可以混合单引号,双引号,variables,甚至函数调用与未改变/未转义的HTML标记。
echo <<<MYTAG <tr><td> <input type="hidden" name="type" value="$var1" ></td></tr> <tr><td> <input type="hidden" name="type" value="$var2" ></td></tr> <tr><td> <input type="hidden" name="type" value="$var3" ></td></tr> <tr><td> <input type="hidden" name="type" value="$var4" ></td></tr> MYTAG;
有很多模板系统为您的视图提供更紧凑的语法。 Smarty非常受欢迎。 这篇文章列出了10个人。
我build议不要使用短标签 ,请参阅PHP短标签是否可以使用? 了解更多关于原因的信息。
就个人而言,我不介意像这样混合HTML和PHP
<a href="<?php echo $link;?>">link description</a>
只要我有一个语法高亮的代码编辑器,我认为这是非常可读的。 如果您开始使用PHP回显HTML,那么您将失去语法突出显示HTML的所有优点。 回声HTML的另一个缺点是引用的东西,以下是一个很less可读的恕我直言。
echo '<a href="'.$link.'">link description</a>';
在PHP中使用简单的回显和简单循环对我来说最大的好处是,缩进是一致的,最终提高了可读性/可扫描性。
在HTML部分之前的php部分,使用sprinf()从variables中创build一个常量string:
$mystuff = sprinf("My name is %s and my mother's name is %s","Suzy","Caroline");
然后在HTML部分,你可以做任何你喜欢的,如:
<p>$mystuff</p>