TinkPHP框架學習 04名稱空間

2022-08-05 11:48:11 字數 1510 閱讀 9137

1-----名稱空間

2-----呼叫其他控制器的方法

3-----u()函式

一名稱空間

①看做是虛擬目錄

--thinkphp/library  初始名稱空間

--在library資料夾下的所有資料夾都稱作根名稱空間,由兩部分構成

|--1.library目錄下的所有資料夾

|--2.應用程式目錄裡面的模組名

②定義當前類的名稱空間

--namespace為當前建立的類指定名稱空間  例如 namespace home\controller;  

從檔案所在的根開始寫,寫到他所在的資料夾為止,

thinkphp資料夾下的資料夾為根,或應用程式的home以及自定義的模組下面

只要是一個類,應該在根的模組下面或者library下面

③載入其他的類

--use使用載入父類,例如 think\controller;  這是引入library/think/contro.class.php  

--  使用外部類的時候載入  

第一個\代表初始名稱空間,然後依次往下尋找至父類檔案

④名稱空間必須寫在php檔案的開頭,他的前面不能有任何東西,session在tp框架中自動開啟

二 擴充套件--呼叫其他控制器的方法

舉例:home模組controller控制器目錄下的

在indexcontroller.class.php控制器裡的index()方法中呼叫testcontroller.class.php裡面的test()方法

1--先在index()中造出test類的物件

$test = new \home\controller\testcontroller();

2--訪問該物件的test()方法

$test->test();

②--a(" ")方法  例項化控制器物件

1-- 造出test類的物件

$test = a(" test ");如果在同一個模組下不寫模組名,如果不在同一個模組下則從模組開始寫

2--訪問物件的方法

$test->test();

三 擴充套件 製作url的快捷函式u()方法

生成操作方法的訪問地址,引數是操作方法的名字

echo u(" test ");

輸出: /i/tp/index.php/home/test/test.html

echo u( "admin\test\test" );

輸出:  /i/tp/index.php/home/test/test.html