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 。