我正在编写我的第一个真正的PHP网站,并想知道如何使我的代码更易读。我正在使用的参考书是《PHP和MySQL Web开发》第4版。
上述书籍提供了三种分离逻辑和内容的方法:
1.包含文件 2.函数或类API 3.模板系统
由于我需要一些时间来理解这些概念,所以我还没有选择其中任何一种方法。但是,我的代码已经成为了前两种方法的混合体,因为我只是在复制和修改。
在呈现方面,我的所有页面都有以下共同元素:页眉、顶部导航、侧边栏导航、内容、右侧边栏和页脚。
书中基于函数的示例表明,我可以有这些显示函数来处理所有的呈现示例。因此,我的页面代码将如下所示:
然而,我不喜欢这样做,因为书中的示例将HTML和PHP混在一起使用,例如下面这样的打印语句:
我更喜欢在HTML中插入一些PHP,而不是相反。
我计划将页面设计为在页面开头从数据库中获取所有数据并将其放入数组中。我还会获取变量的数据。如果这些过程中有任何错误,我将把它们放入错误字符串中。
然后,在HTML代码中,我将使用foreach循环遍历这些数组并显示内容。在某些情况下,将显示一些变量。如果设置了错误变量,我将在适当的位置显示它。
(顺带一提:我不明白的是,在大多数示例代码中,如果某个数据库查询或其他操作出现错误,总会出现以下内容:)
这让我感到困惑,因为当示例代码出错时,有时会在HTML开始之前就被输出...)
对于使用过ASP.NET的人来说,我已经习惯了code-behind文件和lblError,现在我正在尝试做类似的事情。
我还没想明白如何做到“先处理逻辑,再呈现内容”,这样我就不必在所有页面中复制导航逻辑和导航呈现了。
我应该做一些包含文件,还是可以在这里使用函数,但稍微有些不同?是否有任何好的文章能更详细地解释这些分离呈现和逻辑的“风格”?我手头的书只有一段话涉及到这些东西。
我的想法是,我在谈论PHP编程的一些概念或方法,但我还不知道它们的术语。
我知道这不是一个直截了当的问题,我只需要帮助组织我的思路。
上述书籍提供了三种分离逻辑和内容的方法:
1.包含文件 2.函数或类API 3.模板系统
由于我需要一些时间来理解这些概念,所以我还没有选择其中任何一种方法。但是,我的代码已经成为了前两种方法的混合体,因为我只是在复制和修改。
在呈现方面,我的所有页面都有以下共同元素:页眉、顶部导航、侧边栏导航、内容、右侧边栏和页脚。
书中基于函数的示例表明,我可以有这些显示函数来处理所有的呈现示例。因此,我的页面代码将如下所示:
display_header();
display_navigation();
display_content();
display_footer();
然而,我不喜欢这样做,因为书中的示例将HTML和PHP混在一起使用,例如下面这样的打印语句:
echo "<tr bgcolor=\"".$color."\"><td><a href=\"".$url."\">" ...
我更喜欢在HTML中插入一些PHP,而不是相反。
我计划将页面设计为在页面开头从数据库中获取所有数据并将其放入数组中。我还会获取变量的数据。如果这些过程中有任何错误,我将把它们放入错误字符串中。
然后,在HTML代码中,我将使用foreach循环遍历这些数组并显示内容。在某些情况下,将显示一些变量。如果设置了错误变量,我将在适当的位置显示它。
(顺带一提:我不明白的是,在大多数示例代码中,如果某个数据库查询或其他操作出现错误,总会出现以下内容:)
else echo 'Error';
这让我感到困惑,因为当示例代码出错时,有时会在HTML开始之前就被输出...)
对于使用过ASP.NET的人来说,我已经习惯了code-behind文件和lblError,现在我正在尝试做类似的事情。
我还没想明白如何做到“先处理逻辑,再呈现内容”,这样我就不必在所有页面中复制导航逻辑和导航呈现了。
我应该做一些包含文件,还是可以在这里使用函数,但稍微有些不同?是否有任何好的文章能更详细地解释这些分离呈现和逻辑的“风格”?我手头的书只有一段话涉及到这些东西。
我的想法是,我在谈论PHP编程的一些概念或方法,但我还不知道它们的术语。
我知道这不是一个直截了当的问题,我只需要帮助组织我的思路。