#1 jake

PHP的require函数,是将PHP文件载入到当前的文件中执行,在我们日常的编程中经常会使用到。这里,我们要介绍一下sp框架中增强require功能的import函数,比起require,import函数不仅能够避免重复require和找不到文件出错的问题,更有着更为强大的自动文件搜索功能。

同时,作为sp框架的核心函数之一,import在sp框架内部及扩展类中经常使用,如载入MVC核心文件,spClass等,都是以import为基础。

import的用法:

import($filename, $auto_search = TRUE, $auto_error = FALSE)

参数:

$filename,需要载入文件的文件名,或带有路径的文件名。

$auto_search,载入文件找不到时是否搜索系统路径或文件,默认自动搜索

$auto_error,在无法找到文件的时候,是否开启出错提示,这在sp框架扩展类中是一个较实用的功能。

当参数$filename仅是一个文件名(不带路径),或者是无法载入文件的时候,import将自动搜索以下几个目录选择文件并导入:($auto_search = TRUE)


  • 应用程序配置中的 include_path (用户包含文件路径)
  • 应用程序配置中的 model_path (用户Model文件路径)
  • 应用程序配置中的 sp_include_path (框架包含文件路径)

搜索顺序是:用户包含文件路径 > 用户Model文件路径 > 框架包含文件路径

如果日常开发中,需要使用一些框架以外的类库文件或者是函数文件,就可以在应用程序目录中建立一个新文件夹(如叫include),将类库文件放置到里面,然后在应用程序配置的用户包含文件路径(include_path)上加入:

$spConfig = array(
        ...
        'include_path' => array(
                APP_PATH . '/include',
        ),
        ...
);               
这样在应用程序中就可以直接用import('文件名')的形式包含这些文件了。


2012-08-05 11:03:15