加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

构建可配置PHP应用程序的正确办法

发布时间:2022-07-07 15:13:19 所属栏目:PHP教程 来源:互联网
导读:本文举例说明了创建可配置 PHP 应用程序的几种方法。文中也探讨了应用程序中理想的配置点,并在应用程序过分可配置和过分封闭之间寻求一个平衡点。 假如计划让其他人或公司可以使用您的 PHP 应用程序,需要确保该程序是可配置的。至少,要答应用户以一种安全
  本文举例说明了创建可配置 PHP 应用程序的几种方法。文中也探讨了应用程序中理想的配置点,并在应用程序过分可配置和过分封闭之间寻求一个平衡点。
 
  假如计划让其他人或公司可以使用您的 PHP 应用程序,需要确保该程序是可配置的。至少,要答应用户以一种安全的方式设置数据库登录及密码,从而使其中的材料不会对外公开。
 
  myapptempdir=foo
 
  然后,我编写了一个小 PHP 脚本来读取这个配置项,如清单 1 所示。
 
  清单 1. ini1.php
 
  <?php
   ?>
  当在命令行中运行这段代码时,得到如下结果:
 
  % php ini1.php
  foo
  %
  太棒了。但为什么不能用标准的 INI 函数来获取 myapptempdir 配置项的值呢?我研究了一下,发现在大多数情况下,定制配置项不能使用这些方法来获取。然而,使用 get_cfg_var 函数却是可以访问的。
 
  为使这个方法更加简单,将对变量的访问封装在第二个函数中,该函数使用配置键名及一个缺省值作为参数,如下所示。
 
  清单 2. ini2.php
 
  function get_ini_value( $n, $dv )
  {
   $c = get_cfg_var( $n );
   return ( $c == null ) ? $dv : $c;
  }
   
  function get_template_directory()
  {
   return get_ini_value( "myapptempdir", "tempdir" );
  }
  这是对如何访问 INI 文件的一个很好的概括,所以,假如要使用一个不同的机制或将这个 INI 文件存储到其他位置,就不需要为更改大量的函数而大费周折。
 
  我不推荐使用 INI 文件作为应用程序的配置,这有两个理由。首先,虽然这样做较轻易读取 INI 文件,但却几乎不可能安全地写 INI 文件。所以这样做只适合于只读配置项。第二,php.ini 文件在服务器的所有应用程序上共享,所以我认为特定于应用程序的配置项不应该写在该文件中。
 
  需要对 INI 文件了解什么呢?最重要的是如何重置 include 路径来添加配置项,如下所示。
 
  清单 3. ini3.php
 
 
  PHP 中的配置
 
  通常对于在 INI 文件中存储配置条目的一个替代办法是使用一个简单的 PHP 脚本来保持数据。如下是一个样例。
 
  清单 4. config.php
 
  <?php
  # Specify the location of the temporary directory
  #
  $TEMPLATE_DIRECTORY = "tempdir";
  ?>
  使用该常量的代码如上所示。
 
 

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读