我对php不是很有经验,所以如果有一个简单的功能,我会觉得自己像个白痴。
在PHP编码时,在需要回显一些HTML代码时,我发现我有两种选择之一。
答:echo "<!--html text here-->";
B:echo "\t\t\t<!--html text here-->\n"
;
如果我在整个代码中使用方法A,那么使用view-source查看来自客户端的php代码会产生一个难以阅读的可靠代码块。
如果我使用方法B,它在客户端看起来很好,但实际的源代码看起来很乱。
无论如何都要保持服务器端和客户端外观干净吗?
答案 0 :(得分:2)
像这样的东西
<?php
//php code here
?>
//html code
<h3> <?= $justADynamicVariable ?> </h3>
<?php
//continue php code
?>
答案 1 :(得分:1)
不可读的前端代码是由PHP代码的因子分解不良引起的
由于您的代码很乱,因此会出现文本墙问题。你有相同位置的逻辑和显示代码(从你从PHP块回显HTML的事实可以明显看出),这将总是产生难以理解和丑陋的代码。
查看Model-View-Controller pattern,并从显示代码中分离出您的逻辑代码。然后,使用一些内联PHP编写主显示HTML格式的显示代码:
<div>
Welcome back <?= $this->username; ?>
</div>
如果您不得不从PHP块中回显HTML代码,那么您的代码可能是错误的。
产生可读代码的其他有用技巧:
使用其他PHP控制块
此:
<div id='somediv'>
<?php if($something): ?>
Some stuff
<?php endif; ?>
</div>
比这更具可读性:
<div id='somediv'>
<?php if($something) { ?>
Some stuff
<?php } ?>
</div>
它肯定比你现在正在使用的更好:
<?php
echo "<div id='somediv'>";
if($something) {
echo "Some stuff";
}
echo "</div>";
?>
答案 2 :(得分:0)
你可以关闭php标签(?&gt;),编写html块并返回php(
答案 3 :(得分:0)
有许多方法可以生成HTML,取决于它是单行还是整个HTML块。
重要的是可读性。
echo "<div><p>Hi ".$name."</p></div>";
不是不可读的persé,它可能很烦人,因为它不会在许多IDE中突出显示。 这是一个总是分离html和php的好理由,这意味着总是将html部分放在php标签之外。
所以你可以在之前结束你的php块并在之后再次打开它:
if(TRUE) {
?>
<div><p>Hi <?php echo $name;?></p></div>
<?php
}
如果你在一个大部分包含html的大文件中都有PHP,你最好使用php control blocks:
<!--html text here-->
<?php if(TRUE):?>
<div>
<p>Hello <?php echo $name;?></p>
</div>
</php endif;?>
<!--html text here-->
您也可以使用heredoc
echo <<<EOD
<div>
<p>This is html</p>
</div>
EOD;
ob_start();
?>
<div>
<p>Hello <?php echo $name;?></p>
</div>
<?php
$html = ob_get_clean();
echo $html;
答案 4 :(得分:0)
使用模板引擎,如Twig http://twig.sensiolabs.org/,它允许您将逻辑从模板中分离出来,这样您就可以使用简单的语法编写非常容易标记的动态变量。
或
使用Chrome等浏览器,当您使用网络开发者工具http://discover-devtools.codeschool.com/时,它会自动缩进您的来源。您甚至可以将结果快速复制粘贴到新文件中。一般来说,由于软件可以很容易地清理它,因此担心输出间隔很好的html是个坏主意。