tp框架命名空間使用(namespace,use,as,\)

TP命名空間

我的理解:作用就是如目錄,區分開各文件

目錄=文件夾

namespace:路徑寫到目錄名;如:controller是對應文件的上級目錄

namespace app\pc\controller;

use:路徑寫到類名;如:Controller是類名

use think\Controller;

as:取別名;如:

use aaa\Test;
use bbb\Test as b_Test;

\:獲取頂級命名空間的類(其實就是這個類沒寫命名空間);如:

new \Test()

 

一,關於使用:

首先得了解一下TP類的自動加載,不然調用時可能無反應

https://blog.csdn.net/qq_41912505/article/details/102842895

  1. 同一個目錄中:不需要use,直接new且不需加“\” ;如:
    new Eefn();
  2. 不同目錄且沒有命名空間:用“\”;如:
    new \Eefn();
  3. 不同目錄且有命名空間:用use再new或者new時用路徑;如:
    use script\a\Eefn;
    new \script\a\Eefn();

二,如果不瞭解TP類的自動加載

首先必然的是加載類,require,include

__DIR__:當前路徑

require_once (__DIR__ ."/../../../eefn/Test.php");//或者
require __DIR__ ."/../../../eefn/Test.php";

2.類如果沒有取命名空間,則默認是頂級命名空間。實例需加反斜槓:“\”

$a = new \Test();
$a->say();

 

三,.如果use了兩個名字相同的類名,用as取別名區分

use aaa\Test;
use bbb\Test as b_Test;

$a = new Text();
$b = new B_Text();

參考文獻:https://www.php.cn/php-weizijiaocheng-392925.html

附: 

靜態方法只能調用靜態的東西,且用self::代替$this

上線app:

蘋果開發賬戶申請
蒲公英

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章