2

我对php不是很有经验,所以如果有一个简单的函数,我会觉得自己像个白痴。

在 PHP 中编码时,当您需要回显一些 HTML 代码时,我发现我有两个选项之一。

A:echo "<!--html text here-->";

乙:echo "\t\t\t<!--html text here-->\n";

如果我在整个代码中使用方法 A,则使用 view-source 从客户端查看 php 代码会产生难以阅读的可靠代码块。

如果我使用方法 B,它在客户端看起来不错,但实际的源代码看起来很乱。

无论如何要保持服务器和客户端外观清洁?

4

5 回答 5

2

像这样的东西

<?php 
//php code here
?>

//html code
<h3> <?= $justADynamicVariable ?> </h3>
<?php
//continue php code
 ?>
于 2013-06-28T16:03:21.763 回答
1

不可读的前端代码是由于您的 PHP 代码分解不当造成的

出现文字墙问题是因为您的代码混乱。你在同一个地方有逻辑和显示代码(从你从 PHP 块中回显 HTML 的事实可以看出),这总是会产生不可读和丑陋的代码。

查看Model-View-Controller 模式,并将您的逻辑代码与显示代码分开。然后,使用一些内联 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>";
?>
于 2013-06-28T16:08:55.583 回答
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 控制块

<!--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;
于 2013-06-28T16:07:57.130 回答
0

您可以关闭 php 标签 (?>),编写 html 块并返回 php (

于 2013-06-28T16:04:52.913 回答
0

使用模板引擎,例如 Twig http://twig.sensiolabs.org/,它允许您将逻辑从模板中分离出来,这样您就可以使用简单的语法编写非常容易的标记来放入动态变量。

或者

使用 Chrome 之类的浏览器,当您使用 Web 开发人员工具http://discover-devtools.codeschool.com/时,它会自动为您缩进源代码。您甚至可以非常快速地将结果复制粘贴到新文件中。一般来说,担心输出间隔良好的 html 是一个坏主意,因为软件可以很容易地清理它。

于 2013-06-28T16:10:30.520 回答