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。
我认为它更受用户欢迎,但我绝对更喜欢第一个变体,因为它更具可读性:)。
您应该明确地将您网站的冗余部分放入模板中,并在需要时将其包含:)。
传统上,这种事情是在 PHP 中通过 "requiring" 一个包含您需要的内容的文件来实现的。例如
header.php:
<div>some html</div>
您的主文件:
<?php
require 'header.php';
?>
这消除了在 PHP 中嵌入 HTML 的大部分需要。然而,更现代的方法是使用模板语言,它允许您将 HTML 以及简单的显示逻辑(如分支和循环)完全置于 PHP 代码之外。查看 http://www.phptherightway.com/#templating 以获取有关这两种方法的更多建议。我强烈建议您阅读所有 phptherightway.com,事实上 - 它不会花很长时间,并且可能会回答您可能有的许多其他问题。
我已经用 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。
我认为它更受用户欢迎,但我绝对更喜欢第一个变体,因为它更具可读性:)。
您应该明确地将您网站的冗余部分放入模板中,并在需要时将其包含:)。
传统上,这种事情是在 PHP 中通过 "requiring" 一个包含您需要的内容的文件来实现的。例如
header.php:
<div>some html</div>
您的主文件:
<?php
require 'header.php';
?>
这消除了在 PHP 中嵌入 HTML 的大部分需要。然而,更现代的方法是使用模板语言,它允许您将 HTML 以及简单的显示逻辑(如分支和循环)完全置于 PHP 代码之外。查看 http://www.phptherightway.com/#templating 以获取有关这两种方法的更多建议。我强烈建议您阅读所有 phptherightway.com,事实上 - 它不会花很长时间,并且可能会回答您可能有的许多其他问题。