Thinkphp5實現載入第三方類庫的方法
阿新 • • 發佈:2018-12-07
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 。