Thinkphp5实现加载第三方类库的方法

thinkphp5 很方便的加载我们自己的类库的。但是得严格按照他的规则来。强制我们使用命名空间。今天那么我精细的给大家讲讲该怎么加载。


1.首先 我们按照默认的方式进行加载

我们在他默认的拓展目录新建文件 如图所示

这里我新建一个lib1目录 那么我们的测试类库是Test1.php

该文件的代码如下

<?php
/**
 * Created by PhpStorm.
 * User: lenovo
 * Date: 2018/4/16
 * Time: 16:40
 */
namespace lib1;

class Test1{
    public function sh(){
        return '我是test1<br>';
    }
}

执行效果


说明一下:首先这个类的命名空间必须和该文件所在的子目录保持一致。这里是lib1  然后文件名必须和类名一致

反例效果



执行情况



他还支持多级目录 和子命名空间定义,但是必须和目录结构对应

举个例子



我多级嵌套。。

文件代码


<?php
/**
 * Created by PhpStorm.
 * User: lenovo
 * Date: 2018/4/16
 * Time: 17:15
 */

namespace lib1\lib2;

class test2{
    public function sh(){
        return '我是test2<br>';
    }
}

效果图



看到没

有些同学说 我不想把我的那个目录放在extend下 我想自己弄个,好吧 也行的。不过你需要改改。

但是我们需要先配置一下在index.php

<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006-2016 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: liu21st <liu21st@gmail.com>
// +----------------------------------------------------------------------

// [ 应用入口文件 ]

// 定义应用目录
define('APP_PATH', __DIR__ . '/../application/');
// 加载框架引导文件

//重新定义自己的拓展目录
$extend_path = str_replace('\\',DIRECTORY_SEPARATOR,dirname(__DIR__).DIRECTORY_SEPARATOR.'myextend'.DIRECTORY_SEPARATOR);
echo $extend_path;
define('EXTEND_PATH',$extend_path);
require __DIR__ . '/../thinkphp/start.php';

然后 我们目录结构



文件代码

<?php
/**
 * Created by PhpStorm.
 * User: lenovo
 * Date: 2018/4/16
 * Time: 17:23
 */

namespace lib3;

class test3{
    public function sh(){
        return '我是test3<br>';
    }
}

效果图



这样就ok 。



阅读更多
个人分类: thinkphp5
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

Thinkphp5实现加载第三方类库的方法

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭