thinkphp5引入第三方库非命名空间的库

分类:暂存 时间:2023-03-28 22:42 浏览:0 评论:0
0

tp5给了我们一种方式去实现不用命名空间来加载第三方的类!

实现方法如下:

方法一

1.在入口文件中添加

define('EXTEND_PATH', __DIR__ .'/../extend/');

2.在extend 中添加自定义文件myClass

命名空间要写文件加的名称lib

3. 调用自定义类

 

第二种 使用Loader 

1、在extend文件夹下面放extend/lib/myClass.php文件;

2、在applicatioon/index.php文件中写入

define('EXTEND_PATH', '../extend/');

3、在index控制器中引用

#use think\Loader;
 
#Loader::import('lib\myClass', EXTEND_PATH);
#$mail=new \lib\myClass();
 
 
use  think\Controller;
use  think\Loader;
//use lib\myClass;
 
class Index extends Controller
{ 
    public function index()
    {
       Loader::import('lib\myClass', EXTEND_PATH);
       $obj = new \lib\MyClass();
         
       $obj->test();
 
 
        return  $this->fetch();
    }
}

我们需要在 new 类文件()时,在类文件前面加一个 “ \ ” ,即如下:

$obj = new  \Test();

加 ‘\’ 的原因是,tp5的命名空间自动加载规则:自动加载的实现由think\Loader类库完

成,自动加载规范符合PHP的PSR-4,根据对规则的了解,放在extend目录下没有定义

命名空间的类文件,就是全局化的类。实例化全局化的类的话,即用"\"放在类名前表

示此类是全局类,就new一个全局化的类!

1. 本站所有资源来源于用户上传或网络,仅作为参考研究使用,如有侵权请邮件联系站长!
2. 本站积分货币获取途径以及用途的解读,想在本站混的好,请务必认真阅读!
3. 本站强烈打击盗版/破解等有损他人权益和违法作为,请各位会员支持正版!
4. 暂存 > thinkphp5引入第三方库非命名空间的库

用户评论