PHP 配置模式本文举例说明了创建可配置 PHP 应用程序的几种方法。文中也探讨了应用程序中理想的配置点,并在应用程序过分可配置和过分封闭之间寻求一个平衡点。 如果计划让其他人或公司可以使用您的 PHP 应用程序,需要确保该程序是可配置的。至少,要允许用户以一种安全的方式设置数据库登录及密码,从而使其中的材料不会对外公开。 本文展示了几种用于存储配置设置及编辑这些设置的技术。另外,文中也为哪些元素需要设为可配置以及怎么样避免陷入配置过度或者配置不足的困境提供了指导。 PHP 内建了对配置文件的支持。这是通过 php.ini 文件这样的初始化文件(INI)机制实现的,在 php.ini 文件中定义了数据库连接超时或会话怎么样存储等常量。如果愿意的话,可以在这个 php.ini 文件中为应用程序定制配置。为了说明,我将下列代码行添加到 php.ini 文件中。
然后,我编写了一个小 PHP 脚本来读取这个配置项,如清单 1 所示。
当在命令行中运行这段代码时,得到如下结果:
太棒了。但为什么不能用标准的 INI 函数来获取 为使这个方法更加简单,将对变量的访问封装在第二个函数中,该函数使用配置键名及一个缺省值作为参数,如下所示。
这是对怎么样访问 INI 文件的一个很好的概括,所以,如果要使用一个不同的机制或将这个 INI 文件存储到其他位置,就不需要为更改大量的函数而大费周折。 我不推荐使用 INI 文件作为应用程序的配置,这有两个理由。首先,虽然这样做较容易读取 INI 文件,但却几乎不可能安全地写 INI 文件。所以这样做只适合于只读配置项。第二,php.ini 文件在服务器的所有应用程序上共享,所以我认为特定于应用程序的配置项不应该写在该文件中。 需要对 INI 文件了解什么呢?最重要的是怎么样重置
在本例中,我将我的本地 mylib 目录添加到了 include 路径中,所以能够从该目录中 通常对于在 INI 文件中存储配置条目的一个替代办法是使用一个简单的 PHP 脚本来保持数据。如下是一个样例。
使用该常量的代码如下所示。
该代码首先包含配置文件(config.php),接着就可以直接使用这些常量了。 使用这项技术有很多优势。首先,如果某些人仅仅浏览 config.php 文件,该页面是空白的。所以可以将 config.php 放到相同的文件中,并作为 Web 应用程序的根。第二,在任何编辑器中都可编辑,并且在一些编辑器中甚至具备语法着色及语法检查功能。 这项技术的缺点是,这是一个像 INI 文件一样的只读技术。将数据从此文件中提取出来是轻而易举的,但在该 PHP 文件中调整数据却很困难,在一些情况下甚至是不可能的。 下面的替代方法显示了怎么样编写在本质上既可读又可写的配置系统。 前面的两个例子对于只读配置条目都是合适的,但对于既读又写的配置参数来说又怎么样呢?首先,看看清单 6 中的文本配置文件。 上一篇:使用 OpenSSL API 进行安全编程(3) 下一篇:使用 m17n 实现各国语言间代码移植 更多相关文章
|
推荐文章
精彩文章
|