set_include_path的使用

发现无论是 zend framework 还是 pear ,第一步都是设置php的include_path参数,来增加程序include文件的起始目录,以简化程序中 include/require 的文件路径。
set_include_path() 函数可以在php程序中动态改变php的 include_path 参数,其参数是一个字符串,多个不同的目录可以串联在一起作为一个参数一起提交——不同的目录间使用目录分割符号分开,在类unix的系统中这个分隔符是 “:”,在windows系统中这个分隔符是“;”,所以php提供一个常量 PATH_SEPARATOR 来表示当前系统中的这个分隔符。
include_path 的规则如下:
# 当只指定了一个目录为 include_path ,比如 set_include_path("class")。class 为php包含文件的默认起点,但是当clss目录下找不到所要求包含的文件,而在当前页面目录下正好存在这个名称的文件时,则转为包含当前目录下的该文 件。
# 当指定了多个目录为 include_path ,而所要求包含的文件在这几个目录都有相同名称的文件存在时,php选择使用设定 include_path 时排位居前的目录下的文件。

今天要说的是php的set_include_path函数,单从函数的名子我们就可以猜到,设置应用程序目录,开发项目时合理应用这些函数,不但可以让我们在include时不用一层一层的计算目录,还可以提高我们开发的效率,减少文件包含错误率

废话少说,我们先来看个例子

新建2个php文件,一个目录位置结构如下

/index.php

/include/config.php

index.php Code:

Php代码  <?php    set_include_path("include");  include("config.php");     ?>    

/include/config.php Code: 

Php代码  我是 include下的config.php   

现在我们运行index.php 怎么样,看到结果没,我们include时只用写config.php就可以把/inlcude/config.php 文件包含进来.

设 定多个include目录时用 " ;"  号分开。如: set_include_path("include;include2;include3;lib;c:\php\lib");可以用相对路径也可以用 相对路径.

如果,我们要引用的文件不再 include中时,我们可以在设多个默认路径(当我们要引用的文件,在多个路径中多存在是,我们默认取排在最前的路径)。如下:

define('INCLUDE_PATH','/include/');
define('LIB_PATH','/lib/');
set_include_path(INCLUDE_PATH.PATH_SEPARATOR.LIB_PATH.PATH_SEPARATOR.get_include_path());(PATH_SEPARATOR为路径分隔符)

或许这段小小的代码你可能感觉不出set_include_path的好处,不过不要紧,你只要记住这么个代码可以实现这样的功能即可,在你以后技术提上 去,开时开发大型项目时不要忘了有这么个函数,他可以减少你的工作量.

姐妹函数get_include_path() 可以获取当时的include目录, 实现set_include_path同样功能的还有我们强大又可爱的ini_set() 用法:

Php代码  ini_set('include_path', '目录名');   

转载于:https://my.oschina.net/shunshun/blog/93073

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值