是否可以在PHP中修改标准命令?我想使用' {{',而不是' echo '。
在我的练习中,我经常使用' echo“'和'”; '来打印整个字符串。例如:
echo "
<div class='someClass'>
<table id='someTable'>
<tr>
<td> Hello </td>
<td> World </td>
</tr>
</table>
</div>
";
对于我而言,它更加方便,并且在每个新行使用“ echo ”时,代码看起来更具可读性。但是,有可能让它看起来更漂亮,例如在Laravel Framework中。
{{
<div class='someClass'>
<table id='someTable'>
<tr>
<td> Hello </td>
<td> World </td>
</tr>
</table>
</div>
}}
我试图差异一个常数:
define ('{{', 'echo "');
define ('}}', '";');
但是这没用。除了使用所需的符号在一个变量中使用 str_replace 替换所有代码,然后打印它。
$a = str_replace('{{', 'echo "', $someVariableWithAllCodeAsText);
$a = str_replace('}}', '";', $someVariableWithAllCodeAsText);
所以问题是:一般是否可能?
答案 0 :(得分:1)
您可以定义一个功能:
function _($html)
{
echo $html;
}
然后在你的代码中使用:
_('<h1>Hello World !</h1>');
您也可以使用:
<?= '<h1>Hello Worlds !' <?>
缩短方式。
但总的来说,你将无法做到这一点,你可以看到所有模板引擎,如Smarty或Twig,他们解析模板代码,以{{
替换echo
答案 1 :(得分:0)
有一些合法的方法可以使定义的文本“更漂亮”,但不完全是你想要的方式。
首先,您可以在HTML文件中定义HTML块,只需使用include
或require
语句插入块。但是,这对动态内容不利。
其次,您可以使用heredoc
语法来定义字符串。这将允许使用变量。
第三,您不必包含您在PHP中输出的所有内容,即使它是动态的。在PHP文档站点上签出escaping from HTML。这是一个例子:
<?php if ($expression == true): ?>
This will show if the expression is true.
<?php else: ?>
Otherwise this will show.
<?php endif; ?>