2007-11-01
标签:php 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这个函数下,用户的notes里还看到,似乎除了.htacess 可以用来改变 php.ini 中的参数之外,对以 CGI binary 部署的php来说,还可以在每个目录用一个 custom php.ini 文件来改变当前目录的 php.ini 参数。对这个东西没有接触,有机会尝试一下。
本博客文章非特别注明均属原创,如需转载请保留本博客地址:http://dao.daimaku.com
您的大名:
电子邮箱:
验证码: