PHP 良好做法 - Echo 使用

PHP good practices - Echo usage

我已经用 C++ 编程多年了/c/python,但从未用 PHP 做过一个项目,我很快就会做。

1- 我发现 echo 的用法有点烦人,尤其是打印长内容时。例如,如果我有一个函数想要 echo 网站的冗余部分,例如 header 或导航菜单,哪种方法会更好。

<?php
    function PrintHeader() {
        [some php stuff, mysql queries, etc]
?>
        some HTML code
        more HTML code
<?php
        [some closing php stuff]
    }
?>

好吗
<?php
    function PrintHeader() {
        [some php stuff, mysql queries, etc]

        echo 'some HTML code'
        echo 'more HTML code'

        [some closing php stuff]
    }
?>

我发现第一种方法对我来说更简单,因为您可以在没有 echo 的情况下更轻松地修改 HTML 代码。我测试了它,它有效,但这是一个好方法吗?有效吗?

2- 使用一个函数来回显网站的冗余部分,而不是 copy/pasting 所有 PHP 文件中的冗余代码,这被认为是一种好的编程习惯吗?

这些问题对某些人来说可能听起来很明显,但我在 PHP 中对代码管理没有太多经验。我总是喜欢尽可能地减少代码冗余;更容易维护。

首先,现在人们经常使用模板文件,然后由 PHP 解析。通常使用模板语言,例如 Twig。

  1. 我认为它更受用户欢迎,但我绝对更喜欢第一个变体,因为它更具可读性:)。

  2. 您应该明确地将您网站的冗余部分放入模板中,并在需要时将其包含:)。

传统上,这种事情是在 PHP 中通过 "requiring" 一个包含您需要的内容的文件来实现的。例如

header.php:

<div>some html</div>

您的主文件:

<?php
require 'header.php';
?>

这消除了在 PHP 中嵌入 HTML 的大部分需要。然而,更现代的方法是使用模板语言,它允许您将 HTML 以及简单的显示逻辑(如分支和循环)完全置于 PHP 代码之外。查看 http://www.phptherightway.com/#templating 以获取有关这两种方法的更多建议。我强烈建议您阅读所有 phptherightway.com,事实上 - 它不会花很长时间,并且可能会回答您可能有的许多其他问题。