thinkphp加载php文件,ThinkPHP 自动加载类库

ThinkPHP 自动加载

ThinkPHP 具有自动加载文件的功能,自动加载的文件在需要的时候,系统会自动加载进来。如使用 D 方法实例化一个模型类的时候,系统会自动加载应用项目 Lib/Model 目录下对应的模型类。

如下几种情况,ThinkPHP 会自动加载:

系统核心文件,如系统基类下的 Think.Core 等文件

定义了别名的类库

当前项目的 Action 类和 Model 类

自动搜索路径下面的类库

利用 ThinkPHP 的自动加载功能,可以自动加载自己常用的类库,而无需使用 import 方法手动导入。上述四种自动加载机制中,可以利用的为第二种(定义别名)和第四种(定义自动搜索路径)。

定义类库别名自动加载

系统默认的别名定义文件位于 ThinkPHP系统目录/Common/alias.php ,为便于项目移植,可以在项目的公共文件 common.php 内添加自定义别名:

alias_import(array(

'myClass'=> LIB_PATH.'/Common/myClass.class.php',

// 更多别名

)

);

这样当我们在系统中实例化一个对象时:

$p = new myClass();

系统便会自动加载 Lib/Common/myClass.class.php ,而无需再使用 import 方法手工导入。

定义类库自动搜索路径自动加载

可以通过配置 APP_AUTOLOAD_PATH 参数(自动加载路径)来实现所需类库的自动加载。在系统默认配置文件 convention.php 中,APP_AUTOLOAD_PATH 配置如下:

'APP_AUTOLOAD_PATH' => 'Think.Util.',

因此我们在模块操作使用 Think/Util 下的工具类时,系统才会自动加载而无需额外 import 导入。如果希望再自动加载扩展类库 ORG/Util 下的文件,可以增加配置自动加载的路径:

'APP_AUTOLOAD_PATH'=> 'Think.Util.,ORG.Util.',

如果需要加载自定义的类库时,为便于项目移植,可以在项目配置文件 Config/config.php 中定义该 APP_AUTOLOAD_PATH 参数以覆盖默认配置:

'APP_AUTOLOAD_PATH' => 'Think.Util.,ORG.Util.,@.Common.',

这样,当使用到了系统 Think/Util、ORG/Util 以及当前项目 Lib/Common 下的类库时,系统便会自动加载而无需手动 import 导入。APP_AUTOLOAD_PATH 配置多个搜索路径之间用逗号分割,并且注意定义的顺序代表了搜索的顺序。

定义别名和自动搜索路径都可以实现类库的自动加载,区别是前者需要为没一个类库文件单独定义,而后者直接定义目录搜索目录下所有类文件。

需要注意的是,自动加载的类库文件命名必须是以 .class.php 为后缀的。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值