开发健壮的代码:有效的使用变量 用 PHP 开发健壮的代码 有效的使用变量
简介: “用 PHP 开发健壮的代码”是关于解决大中型应用程序中的实际问题的系列文章。在本文中,PHP 简介: 老手 Amol Hatwar 讨论了如何有效地使用变量。他还
演示了如何通过使用 PHP 中可变的变量名来构造配 置文件解析器,以便简化脚本配置。 在我的前一篇文章中,我研究了在规划、设计甚至编写代码期间必须考虑的一些因素。在本文中,您将真 正接触到实际代码,并可以看到实际运行中的一些东西。如果您还没有看过前一篇文章,那么最好现在就 看一看。 正确处理变量 变量与函数是任何
计算机语言必不可少的要素。有了变量,您可以将数据抽象化;有了函数,您可以将几 行代码抽象化。正如 Bruce Eckel 在他的书籍 《C++ 编程思想》中所说的那样,所有编程语言都提供抽 象。汇编语言是对底层机器的小抽象。随后的许多所谓的 命令式语言(如 Fortran、BASIC 和 C)是对汇 编语言的抽象。 编程语言提供的抽象的种类和质量直接关系到您所能解决的问题的复杂程度。 理解 PHP 如何处理变量和函 数,将有助于您有效地使用它们。 名称里有什么? 名称里有什么? 就象我在前一篇文章中提到的那样,命名约定和编码约定是重要的。无论您使用什么命名约定,请记住要 在项目中严格遵守它。如果您使用应用得最广泛的命名约定,那么您的代码将被更多的人所接受。 对变量进行命名时,在包括脚本时要特别注意不要覆盖正在使用的变量。在大型应用程序中,当增加新的 功能时,这是常见的错误根源。防止这一问题的最佳办法就是使用前缀。把变量所在模块的名称缩写作为 前缀来使用。例如,如果一个处理投票的模块中有一个保存用户标识的变量,那么您可以将该变量命名为
$poll_userID 或 $pollUserID。
理解 PHP 变量 PHP 是解释型语言。这有许多好处,很快您将
学习利用其中的一些。第一个很明显的好处是:它使您省掉 了
设计-编码-编译-测试周期 — 您在编辑器中编写的任何代码都立即可使用。然而,最重要的好处是您不 用担心变量的类型以及如何在内存中管理这些变量。 所有分配给脚本的内存在执行完脚本后都由 PHP 自动 收回。 此外, 可以对变量执行许多操作而不必知道变量的类型。 清单 1 中的代码在 PHP 中工作十分正常, 但在 C 和
Java 语言中会抛出一大堆错误消息:
清单 1. 带变量的样本 PHP 代码 $myStr = "This is my favorite band: "; // Strings are more fun. $myStr = $myStr . "U" . $myVar; echo "$myVar\n"; ?> // Doing this is OK, too.
安装
完 PHP 后,如要运行运行代码,可首先将该代码保存为一个 .php 文件,再将该文件放置在 Web 服 务器上,然后将浏览器指向该文件。更好的办法是安装 PHP 的 CGI 版本。然后,通过在 shell 或命令提 示符下输入以下命令,并用包含您的脚本的文件名替代 script-name,这样就可以运行该脚本了。 path-to-php/php
script-name
该代码能够正常工作,因为 PHP 是类型宽松的语言。用通俗易懂的英语,可以不考虑变量类型,可以把字 符串赋值给整数,以及毫不费力地用较大的字符串替代较小的字符串。这在象 C 这样的语言中是不可能的 事情。在内部,PHP 将变量所拥有的数据与类型分开存储。类型存储在单独的表中。每当出现包含不同类 型的表达式时,PHP 自动确定程序员想要做什么,接着更改表中的类型,然后自动对表达式求值。 介绍一个常见的小问题 不用担心类型固然很好,但有时那也会使您陷入真正的麻烦。怎么回事呢?这里有一个实际的示例:我常 常必须把在基于 Windows 的 PC 上创建的内容移到 Linux 系统,以便能在 Web 上使用它们。基于 Windows 的文件
系统在处理文件名时是不区分大小写的。文件名 DefP