php自動載入類

2021-07-28 15:48:59 字數 1139 閱讀 2041

php類的自動載入機制

php的自動載入:

在php5以前,我們要用某個類或類的方法,那必須include或者require,之後才能使用,每次用乙個類,都需要寫一條include,麻煩

php作者想簡單點,最好能引用乙個類時,如果當前沒有include進來,系統能自動去找到該類,自動引進~

於是:__autoload()函式應運而生。

通常放在應用程式入口類裡面,比如discuz中,放在class_core.php中。

先講淺顯的例子:

第一種情況:檔案a.php中內容如下

<?php

classa}

?>

檔案c.php 中內容如下:

<?php

function

__autoload

($class)

}

$a = new a(); //這邊會自動呼叫__autoload,引入a.php檔案

?>

第二種情況:有時我希望能自定義autoload,並且希望起乙個更酷的名字loader,則c.php改為如下:

<?php

function

loader

($class)

}spl_autoload_register('loader'); //註冊乙個自動載入方法,覆蓋原有的__autoload

$a = new a();

?>

<?php

class

loader

}

}

spl_autoload_register(array('loader', 'loadclass'));

$a = new a();

?>

當前為最佳形式。

通常我們將**spl_autoload_register(*)**放在入口指令碼,即一開始就引用進來。比如下面discuz的做法。

if(function_exist('spl_autoload_register'))else

}

PHP 自動載入類

在專案開發中,因為乙個檔案中只能寫乙個類,並且在執行過程中會有很多的類參與,如果乙個乙個的載入很麻煩,所以,就需要乙個機制實現在php執行過程中自動載入需要的類。1.2.1 類的規則 乙個檔案中只能放乙個類 必須 檔名和類名同名 必須 類檔案以.class.php結尾 不是必須 1.2.2 手動載入...

php自動載入類

先說乙個魔術方法 tostring 方法 當我們在定義類中成員後,通過構建物件,我們無法直接通過輸出物件得到物件的內容,這時我們可以通過構造乙個魔術方法 tostring 在構建物件的同時,啟用這個魔術方法,從而達到直接輸出物件內容的目的 例子class ren r new ren echo r 轉...

php自動載入類,PHP中類的自動載入的方法

類的自動載入是指,在外面的頁面中,並不需要去 引入 類檔案,但是程式會在需要的時候動態載入需要的類檔案。方法1 使用 autoload魔術函式 當程式需要某個類時,就會去呼叫該函式,該函式我們需要自己去定義並在其中寫好載入類檔案的通用語句。需要類是自動呼叫,而且會傳進來乙個類名,這個案例的檔名為21...