关于thinkPHP中的自动加载和手动导入

Posted 编程是个无底洞

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于thinkPHP中的自动加载和手动导入相关的知识,希望对你有一定的参考价值。

首先先讲自动加载:

前提:你的第三方类库要满足(1)符合命名规范和后缀的类库(2)使用命名空间,命名空间和路径一致的类库

(1)在Thinkphp目录下的library目录下的每一个子目录都是一个根命名空间

(2)凡是以这些子目录为根命名空间的类都可以自动加载

例如:Org/某某.class.php  Think/某某.class.php  我们在项目中使用的时候

    (a)直接 new \Org\某某.class.php既可以获得对象,或者

    (b)use Org\某某; 实例化的时候直接new 某某();即可

 

如果你不想在Library下面创建,你想单独建一个文件夹存放第三方引入的类,你也可以自己注册一个根命名空间

在配置文件中配置: AUTOLOAD_NAMESPACE=>array(

                        ‘新的根命名空间名称‘=>THINK_PATH.‘新文件夹名称‘

                        )

THINK_PATH就是你的ThinkPhp文件夹

这时候你可以把第三方类库放入刚刚新建的文件夹中,譬如:ThinkPhp/MyNamespace/Ceshi.class.php

                对应的配置文件这样写:AUTOLOAD_NAMESPACE=>array( ‘MyNamespace‘=>THINK_PATH.‘MyNamespace‘)

(1)记住:你的第三方类的命名空间要写上:namespace MyNamespace; 使用的时候new /MyNamespace/某某.class.php

(2)如果你觉得麻烦,不想在第三方类库里写命名空间可以这样:AUTOLOAD_NAMESPACE=>array( ‘某某‘=>THINK_PATH.‘MyNamespace/某某.class.php‘)直接指向第三方类

而不是文件夹,使用的时候:new \某某();即可

 

 

                         

 

以上是关于关于thinkPHP中的自动加载和手动导入的主要内容,如果未能解决你的问题,请参考以下文章

thinkphp5 extend扩展库放哪里,该怎么new

把第三方sdk放在thinkphp的那个目录

Thinkphp导入外部类的方法

thinkphp 自动加载

thinkphp5 怎么导入类库

使用ThinkPHP5和前端框架layui的信息流加载实现文章的自动加载