我应该更喜欢其中一个片段而不是其他片段吗?为什么?
1.
function render()
{
echo "<div>$content</div>";
}
Run Code Online (Sandbox Code Playgroud)
2.
function render()
{
?>
<div><?= $content ?></div>
<?php
}
Run Code Online (Sandbox Code Playgroud)
两者都不是一个好主意.原因功能正在输出.尝试这样做:
function render( $content_, $style_ )
{
$res = "<div{$style_}>$content_</div>";
return $res;
}
Run Code Online (Sandbox Code Playgroud)
...
然后:
echo render( "Content inside div", " style='color:red;'" )
Run Code Online (Sandbox Code Playgroud)
原因:
作为一般规则,最好将构成应用程序的每个文件的内容尽可能保持整洁.由于PHP是一种模板语言,并且您可以使PHP文件具有截然不同的用途(考虑到包含纯HTML的文件是有效的PHP文件),我个人的偏好是:
如果您需要在代码中创建一小部分HTML,请不要打开和关闭PHP标记.
例如,喜欢这个:
function render()
{
echo "<div>$content</div>";
}
Run Code Online (Sandbox Code Playgroud)
对此:
function render()
{
?><div><?= $content ?></div><?php
}
Run Code Online (Sandbox Code Playgroud)
另请注意,在上面的代码片段中,我没有在PHP关闭标记之后或PHP开放标记之前包含任何空格; 通常,HTML中的空格并不重要,但在两种情况下它可能很重要:
如果你想在HTML中包含这种空格,你的源代码在任何情况下都会有点难看,但如果你采用close/open标记方法肯定会更丑陋.
在视图中隔离大块HTML,并根据需要包含少量逻辑.
例如,喜欢这个:
<body>
<div id="blah">
<ul id="nav">
<?php foreach ($navItems as $url => $title) : ?>
<!--
NOTE:
You can opt to make the line below a single echo statement
in PHP rather than HTML with values from PHP substituted
in various places inside, and in this example it might even
be better. However, if the output for each item is more complex
than a li/a pair, it will be far more readable in this form.
-->
<li><a href="<?php echo $url ?>"><?php echo $title ?></a></li>
<?php endforeach; ?>
Run Code Online (Sandbox Code Playgroud)
对此:
$output = '<body><div id="blah"><ul id="nav">';
foreach ($navItems as $url => $title) {
$output .= '<li><a href="'.$url.'">'.$title.'</a></li>
}
echo $output;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
132 次 |
| 最近记录: |