autoload 類的自動載入

2021-08-28 17:37:43 字數 1306 閱讀 4528

首先,這個方法與__call__set等不一致,他不屬於類,但是跟類有關。因為他會在類呼叫不到時自動呼叫。

首先,前面我們知道,呼叫另乙個類要麼與呼叫處在乙個檔案內部,要麼就要使用requireinclude等函式,但是當你呼叫乙個類,但是這個類沒有進行上述操作時,__autoload就會自動執行。看下面的demon:

檔案結構:

autoload.php

index.php

首先來看autoload.php

function

__autoload

($classname

)

很簡單,這裡就是定義了__autoload

接著簡單看一下indexcontroller.php

namespace

controller

;class

indexcontroller

}

可以看到這裡定義了乙個命名空間namespace controller;

接著看重頭戲index.php

require_once

"./autoload.php"

;use

controller\indexcontroller

;$index

=new

indexcontroller()

;$index

->

output()

;

可以看到在執行的系統中:

首先需要呼叫__autoload,即我們上面定義的autoload.php

接著就只要關心命名空間的問題了。因為我們這裡並沒有顯式呼叫indexcontroller.php__autoload幫我們呼叫了。

index.php中當我們嘗試例項化indexcontroller.php中時,系統並沒有找到該類,因為原先沒有呼叫該類,接著編譯器嘗試尋找__autoload方法,找到了,接著執行該方法,在方法中我們include_onceindexcontroller.php。所以系統正常執行。

php自動載入類 autoload 函式

php自動載入類 autoload 函式,很多開發者寫物件導向的應用程式時,對每個類的定義建立乙個 php 原始檔。乙個很大的煩惱是不得不在每個指令碼 每個類乙個檔案 開頭寫乙個長長的包含檔案的列表。很多開發者寫物件導向的應用程式時,對每個類的定義建立乙個 php 原始檔。乙個很大的煩惱是不得不在每...

php之自動載入autoload

當程式的 執行到需要載入某個類的時候,php內部機制可以做到自動載入該類檔案。autoload嘗試載入未定義的類 class a.class.php classa autoload.php header content type text html charset utf 8 function au...

關於php自動載入autoload方法的使用及弊端

關於php自動載入autoload方法的使用及弊端 php自動載入autoload方法,在我們編寫mvc框架的時候可能會常常用到,雖然在效能上會有些影響,是在可承受範圍之內的,但框架在整體上的架構和開發會方便很多,易於管理框架中的類及方法,覺得它的利還是大於它的弊的。主要通過兩種方法來使用自動載入a...