我喜欢HEREDOC语法,例如对于生成的HTML的极端情况,这些情况不值得放在模板中。
唯一令我烦恼的是,内容和heredoc字符串的结束标记粘附在第一列上。这会打乱嵌套的代码布局:
class myclass
{
function __construct()
{
$a = some_code();
$b = some_more_code();
$x = <<<EOT
line1
line2
line3
line4
EOT;
$c = even_more_code();
$b = still_more_code();
...
...
...
你明白我的意思。
现在,使用常规的HEREDOC可能无法解决此问题。有人解决过这个问题吗?我的梦想是拥有带有自动缩进的HEREDOC语法。但是我想如果不为源文件编写一些预编译器,这是不可能的。
我对么?
最佳答案
谢天谢地,此功能最终通过RFC进入了php 7.3:Flexible Heredoc and Nowdoc Syntaxes
因此,现在您的示例可以清楚地写为:
class myclass
{
function __construct()
{
$a = some_code();
$b = some_more_code();
$x = <<<EOT
line1
line2
line3
line4
EOT;
$c = even_more_code();
$b = still_more_code();
}
}
关于php - HEREDOC干扰代码缩进,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2305869/