我正在编写我的第一个真正的 PHP 网站,并且想知道如何使我的代码对自己更具可读性。我使用的参考书是 PHP and MySQL Web Development 4th ed。
上述书给出了三种分离逻辑和内容的方法:
- 包含文件
- 函数或类 API
- 模板系统
我还没有选择其中任何一个,因为围绕这些概念思考我需要一些时间。然而,我的代码已经变成了前两个的混合体,因为我只是在这里复制粘贴并随时修改。
在展示方面,我所有的页面都有这些共同元素:页眉、顶部导航、侧边栏导航、内容、右侧边栏和页脚。
书中基于函数的示例表明我可以使用这些显示函数来处理所有演示示例。所以,我的页面代码将是这样的:
display_header();
display_navigation();
display_content();
display_footer();
但是,我不喜欢这样,因为书中的示例将这些打印语句与 HTML 和 PHP 混合在一起,如下所示:
echo "<tr bgcolor=\"".$color."\"><td><a href=\"".$url."\">" ...
我宁愿在中间有一些 PHP 的 HTML,而不是相反。
我正在考虑制作我的页面,以便在页面的开头,我将从数据库中获取所有数据并将其放入数组中。我还将获取变量的数据。如果这些过程中有任何错误,我会将它们放入错误字符串中。
然后,在 HTML 代码中,我将使用 foreach 遍历这些数组并显示内容。在某些情况下,将显示一些变量。如果设置了错误变量,我将在适当的位置显示它。
(作为旁注:我不明白的是,在大多数示例代码中,如果某些数据库查询或诸如此类的错误给出了错误,总是有:
else echo 'Error';
这让我感到困惑,因为当示例代码出现错误时,有时甚至在 HTML 开始之前就会回显它......)
对于使用过 ASP.NET 的人,我已经有点习惯了代码隐藏文件和 lblError 并且我正在尝试在这里做类似的事情。
我还没有想到的是,我怎么能做到“先做逻辑,然后做展示”的事情,这样我就不必在所有页面中复制导航逻辑和导航展示。
我应该做一些包含文件还是我可以在这里使用函数但有点不同?有没有什么好的文章可以更彻底地解释这些分离表示和逻辑的“风格”。我的书只有一段关于这些东西。
我在想的是我在这里谈论一些进行 PHP 编程的概念或方法,但我还不知道它们的术语。
我知道这不是一个直截了当的问题,我只需要一些帮助来组织我的想法。