__autoload()的用法就不再說了,以前已經在我的WEB開發筆記中說過。 PHP __autoload函數(自動載入類別檔案)的使用方法, 原文網址:http://www.jb51.net/article/29625.htm 。
說一說,spl_autoload_register()的用法吧,很簡單,可以這樣理解,就是聲明一個自訂__autoload(),你可以是A函數,也可以是B函數,想怎麼樣就怎麼樣,函數體的寫法,當然要跟__autoload()一樣就OK 了。
當PHP找不到類別檔案會呼叫這個方法,當註冊了自己的函數或方法時,PHP不會呼叫__autoload()函數,而會呼叫自訂的函數
spl_autoload_register('func_name');
spl_autoload_register (array('class_name','method_name'));
詳細說明如下:
spl_autoload_register
(PHP 5>= 5.1.2)
spl_autoload_register — 註冊__autoload() 函數函式)
將函數註冊到SPL __autoload函數堆疊中。如果該堆疊中的函數尚未激活,則激活它們。
如果在你的程式中已經實作了__autoload函數,它必須明確地註冊到__autoload堆疊中。因為
spl_autoload_register()函數會將Zend Engine中的__autoload函數取代為spl_autoload()或
spl_autoload_call()。
參數
autoload_function
欲註冊的自動裝載函數。如果沒有提供任何參數,則自動註冊autoload的預設實作函數
spl_autoload()。
回傳值
如果成功則回傳 TRUE,失敗則回傳 FALSE。
註:SPL是Standard PHP Library(標準PHP函式庫)的縮寫。它是PHP5引入的擴充庫,其主要功能包括autoload機制的實作及包括各種Iterator介面或類別。 SPL autoload機制的實作是透過將函數指標autoload_func指向自己實作的具有自動裝載功能的函數來實現的。 SPL有兩個不同的函數spl_autoload, spl_autoload_call,透過將autoload_func指向這兩個不同的函數位址來實現不同的自動載入機制。
程式碼如下:
test.class.php
複製程式碼 程式碼如下:
class abc{($class_cmcom class class. ." .class.php"; if (is_file($filename)) return include_once $filename;
}}
/**
* 設定物件的自動載入
* spl_autoload_register — Register given function as __autoload() implementation
*/
spl_autoload_
(array('LOAD', 'loadClass')); a = new Test();//實作自動載入,很多框架就用這種方法自動載入類別
?>
以上就介紹了dllregisterserver PHP函數spl_autoload_register用法和__autoload介紹,包括了dllregisterserver方面的內容,希望對PHP教程有興趣的朋友有所幫助。