搜尋
首頁php框架ThinkPHPthinkphp3有門面類別嗎

thinkphp3有門面類別。門面為容器中的類別提供了一個靜態呼叫接口,具有更好的可測試性和擴展性,可以為任何的非靜態類別庫定義一個門面類,語法為“class Test{public function Class(){return路徑;}}」。

thinkphp3有門面類別嗎

本文操作環境:Windows10系統、ThinkPHP3版、Dell G3電腦。

thinkphp3有門面類別嗎

門面為容器中的類別提供了一個靜態調用接口,相比於傳統的靜態方法調用, 帶來了更好的可測試性和擴展性,你可以為任何的非靜態類別庫定義一個facade類別

為什麼使用門面

1、靜態方法和非靜態方法的區別(呼叫對象、引用變數不同)

靜態方法:是使用static關鍵字修飾的方法,又叫類別方法.屬於類別的,不屬於對象, 在實例化物件之前就可以透過類別名稱.方法名稱呼叫靜態方法。 (靜態屬性,靜態方法都是屬於類別的,可以直接透過類別名稱呼叫)。

A.在靜態方法中,可以呼叫靜態方法。

B.在靜態方法中,不能呼叫非靜態方法。

C.在靜態方法中,可以引用類別變數(即,static修飾的變數)。

D.在靜態方法中,不能引用成員變數(即,沒有static修飾的變數)。

E.在靜態方法中,不能使用super和this關鍵字

非靜態方法:是不含有static關鍵字修飾的普通方法,又稱為實例方法,成員方法。屬於對象的,不屬於類別的。 (成員屬性,成員方法是屬於物件的,必須透過new關鍵字建立物件後,再透過物件呼叫)。

A.在普通方法中,可以呼叫普通方法。

B.在普通方法中,可以呼叫靜態方法

C.在普通方法中,可以引用類別變數和成員變數

D.在普通方法中,可以使用super和this關鍵字

2、靜態方法和非靜態方法的區別(調用方法不同)

靜態方法可以直接調用,類別名稱調用和對象調用。 (類別名稱.方法名稱 / 物件名稱.方法名稱)

但是非靜態方法只能透過物件呼叫。 (物件名稱.方法名稱)

3、靜態方法與非靜態方法的差異(生命週期不同)

靜態方法的生命週期跟對應的類別一樣長,靜態方法和靜態變數會隨著類別的定義而被分配和裝載入記憶體中。一直到執行緒結束,靜態屬性和方法才會被銷毀。 (也就是靜態方法屬於類別)

非靜態方法的生命週期和類別的實例化物件一樣長,只有當類別實例化了一個對象,非靜態方法才會被創建,而當這個對象被銷毀時,非靜態方法也馬上被銷毀。 (也就是非靜態方法屬於物件)

總結

類別方法可以直接透過類別名稱調用,實例方法必須先實例化類,再初始化對象,然後透過類別的實例物件才能呼叫

如何使用

1、建立一個需要放置門面類別的資料夾facade

2、寫好自己的公共類別

3、在facade創建facade類程式碼如下

use think/Facade;
class TestFacade extends Facade{
protected static function getFacadeClass(){
return '写好的目标公共类绝对路径';
}
}

4、呼叫這個公共類別的時候可以直接使用門面類別來取代公共類,這樣公共類別的非靜態方法也可以使用靜態呼叫了

推薦學習:《PHP影片教學

#

以上是thinkphp3有門面類別嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。