php的自動載入

2022-03-13 08:22:57 字數 1064 閱讀 2010

php的自動載入:

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

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

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

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

先講淺顯的例子:

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

<?php

class a

檔案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

}這段扔在入口檔案最前面,自然是極好的~

//good

php 載入 php自動載入方式

本篇文章介紹的內容是關於php自動載入方式,現在分享給大家,有需要的朋友可以參考一下這篇文章的內容 php載入檔案方式 1 include,include once,requice,requice one常規載入 2 autoload 3 spl autoload register 常規載入方式 假...

php自動載入

很多開發者寫物件導向的應用程式時對每個類的定義建立乙個 php 原始檔。乙個很大的煩惱是不得不在每個指令碼 每個類乙個檔案 開頭寫乙個長長的包含檔案列表。在 php 5 中,不再需要這樣了。可以定義乙個 autoload 函式,它會在試圖使用尚未被定義的類時自動呼叫。通過呼叫此函式,指令碼引擎在 p...

php自動載入

php自動載方法有兩種.第一種方案用 autoload,這個函式較簡單,也較弱.但有一問題沒有解決,就是在include前判斷檔案是否存在的問題.1 2 3 4 5 6 7 8 9 10 11 12 13 set include path aa path separator get include ...