用PHP开发健壮的代码:有效地使用变量,第2部分
脚本获取某个目录的内容,那么现在就可以使用方便的实现。我希望您考虑一些事情:想象一下将整个脚本作为一个函数来实现,然后想象调试、测试和重用代码所需的工作。
正确使用循环 现在看看 foreach 循环,想想为什么不用 for 循环?使用 for 循环要求您知道数组中项的数目 — 需要一个额外的步骤。此外,在处理PHP数组时,有可能超出数组边界。也就是说,在数组只有 10 个元素时,试图访问它的第 15 个元素。PHP 的确会给出一个小警告,但据我所知,在一些情况下,当反复运行某个脚本时,CPU 活动率会突然上升到 100% 而服务器性能则连续下降。我建议您尽可能地避免使用 for 循环。 断言性的if 最后,我希望您研究一下那个在 get_file_list() 函数中用于忽略 . 和 .. 目录的较大的 if 条件。显然,我可以采用传统的方法,根据常数来检查变量。但在我自己的许多编码昏招中,我经常会遗漏等号并且在以后找不到哪里出了问题。当然,PHP 不会报错,因为它认为我想进行赋值而不是比较。当您根据变量来比较常数并且又遗漏了一个等号时,PHP 会抛出错误消息。 可变的变量名 现在来讨论一些奇妙的事情。作为新手的开发人员认为,使用可变变量来完成任务是一种令人费解的方法,所以常常回避它。实际上,很容易理解和使用可变变量。它们已经不止一次地帮我摆脱困境,而且它们是一种重要的语言元素。事实上,在有些情况下,使用可变变量在所难免。很快我将研究一种此类现实情况,但首先让我们看看可变变量到底是什么。让我们先尝试一下 清单 4中的代码: 清单 4. 具有可变变量的代码
首先, 清单 4中的代码声明了名为 $myStr 的变量,并将字符串 I 赋给它。接下来的语句定义了另一个变量。但这次,变量的名称是 $myStr 中的数据。 $myStr 是一种告诉PHP产生另一个变量的方法,其意思是“我想要一个变量,可以在变量 $myStr 中找到这个变量的名称”。当然,为做到这一点,必须定义 $myStr 。所以,现在您有一个名为 I 的变量,并用字符串 am 给它赋值。接下来的语句做了同样的事情,并将字符串 great 赋给名为 am 的变量。而 am 只是变量 I 中的数据。 那澄清了一些事,但 echo 语句中那些奇怪的花括号是怎么回事呢?那就是您打印可变变量的方法。如果您省略花括号,那么PHP在打印时会将美元符号($)附加到变量的内容上。这些花括号告诉PHP首先对它们里面的变量求值。 试着这样考虑:变量可以做什么?简单地说,它们抽象或表示数据,这些数据可以变化,而它们的名称保持不变。可变变量做的是同样的事情;它们抽象数据。但在本例中,它们包含的数据实际上是另一个变量的名称。 我在 清单 4中所给的例子是为了让您熟悉可变变量。可变变量名的实际功能来自这样的事实:您可以在运行时动态地生成可变的变量名。您将在构造一个配置文件解析器时用到这一特性。 配置文件解析器 按照我的经验,在配置应用程序以使其运行期间,用PHP编辑配置文件时,用户常有所抱怨。配置只不过是全局变量的一个列表,应用程序中的其它脚本依靠它来查找文件、URL 和其它控制应用程序行为的设置。一个遗漏的美元符号、分号或一段未封闭的注释常常会破坏整个代码。有什么能帮助用户呢? 假设您给用户一个文件,让用户使用由等 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |