400-696-8028

用 PHP 开发健壮的代码(三):编写可重用函数

长沙北大青鸟作者:科泰校区Amol Hatwar

摘要:在本系列文章(有关如何在实际情况下开发有效的 PHP 代码)的第 3 部分中,Amol Hatwar 讨论了如何构建最有效的功能型函数,使用这些函数不会牺牲太多性能或可管理性。作者重点阐述了如何编写可重用函数,并介绍了如
在本系列文章(有关如何在实际情况下开发有效的 PHP 代码)的第 3 部分中,Amol Hatwar 讨论了如何构建最有效的功能型函数,使用这些函数不会牺牲太多性能或可管理性。作者重点阐述了如何编写可重用函数,并介绍了如何避免与该任务相关的一些最常见问题。

欢迎回来。在本系列文章的第 1 部分中,我讨论了一些基本的 PHP 设计规则,并介绍了如何编写安全、简单、与平台无关且快速的代码。在第 2 部分中,我介绍了变量,并讨论了它们在 PHP 编码中的用法 — 好的和坏的实践。

在本文中,您将了解如何在 PHP 中明智地使用函数。在每一种高级编程语言中,程序员都可以定义函数,PHP 也不例外。唯一的区别在于,您不必担心函数的返回类型。

点击查看原图

点击查看原图

现在,先在内存中构建页面,然后将完成的页面分发给浏览器。

在内存中构建页面有两大好处:

  • 可以用自己的脚本高速缓存已完成的页面。

  • 如果未能成功构建页面,可以废弃完成一半的页面,并使浏览器指向出错页面。

现在,您的用户将不会看到页面中有错误消息的报告了。

根据大多数页面的结构,需要将页面构建模块分成执行以下功能的函数:

  • 绘制顶栏
  • 绘制导航栏
  • 显示内容
  • 添加脚注

还需要执行下述功能的函数:

  • 高速缓存页面
  • 检查页面是否已经被高速缓存
  • 如果页面已被高速缓存则显示它

让我们称之为页面构建器(pagebuilder)模块。

页面构建器模块通过查询数据库执行其工作。由于该数据库是 PHP 之外的,所以将使用数据库抽象模块,其职责是为 PHP 中各种不同的特定于供应商的数据库函数提供同类接口。该模块中的重要函数有:连接数据库的函数、查询数据库的函数以及提供查询结果的函数。

假定您还希望实现一个站点范围的搜索引擎。该模块将负责搜索站点上与某个关键字或某组关键字相关的文档,并根据搜索字符串的相关性或出现该字符串次数最多来显示结果。如果您还希望记录搜索以便进行审计,该模块将与数据库抽象模块一起使用。

请记住,您将接受来自用户的输入。您需要将其显示在屏幕上,并废弃那些看上去怀有恶意的内容。这需要另一个模块,它负责验证用户通过表单提交的数据。

至此,您对我正在讲述的概念肯定有了大致的了解。必须将最核心的功能分解成逻辑模块,要执行它们的任务,应用程序必须使用这些模块提供的函数。

使用这种分层的方法,简单的页面构建呈现应用程序可能如图 3 所示。

点击查看原图

请注意,在本示例中,核心模块与处理应用程序的模块之间没有层次。也就是说,核心模块可以从下面的抽象模块或层中声明的函数调用和声明函数,但是应用程序代码可能不能这样做。如果应用程序代码中的函数受任何低层函数“污染”或者封装了任何低层函数,那么应用程序代码不应该声明这些函数。它只能使用低层的函数。这被证实是一个更快的方法。

点击查看原图
 
Amol Hatwar 从能记事起就开始接触计算机。作为 GNU/Linux 的绝对拥护者,他为过去在 Microsoft 平台上编程感到内疚。他现在作为独立顾问帮助众多公司迁移到 GNU/Linux。作为开发 Web 应用程序领域的专家,他把所剩无几的空余时间花在研究没人听说过的技术上。他现在的兴趣包括开放源码软件、Web 服务、对等计算以及高可用性群集。
关于我们
公司简介
发展历程
青鸟荣誉
联系我们
加入我们
青鸟课程
BCVE视频特效课程
BCUI全链路UI设计
BCSP软件开发专业
BCNT网络工程师
启能职业教育基础课程
长沙初中生学什么
长沙高中生学什么
长沙大学生学什么