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 <[email protected]>
// +----------------------------------------------------------------------
// [ 應用入口文件 ]
// 定義應用目錄
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 。