ホームページ >バックエンド開発 >PHPチュートリアル >dllregisterserver PHP 関数 spl_autoload_register の使用法と __autoload の概要
__autoload() の使用法についてはこれ以上説明しません。以前に WEB 開発ノートで言及しました。 PHPの__autoload関数(クラスファイルを自動ロード)の使い方、オリジナルアドレス:http://www.jb51.net/article/29625.htm。
spl_autoload_register() の使用法について話しましょう。これは非常に簡単で、カスタム __autoload() を宣言することができます。関数本体 もちろん書き方は__autoload()と同じにする必要があります。
このメソッドは、PHP が独自の関数またはメソッドを登録するときに呼び出されます。PHP は __autoload() 関数を呼び出しませんが、カスタム関数
spl_autoload_register('func_name'); を呼び出します。 (class_name '、' method_name ')); detailsは次のとおりです。関数を 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 の略称です。これは、PHP5 で導入された拡張ライブラリであり、その主な機能には、オートロード メカニズムとさまざまな Iterator インターフェイスまたはクラスの実装が含まれます。 SPL オートロード メカニズムは、関数ポインタ autoload_func をオートロード関数を持つ自己実装関数にポイントすることによって実装されます。 SPL には 2 つの異なる関数 spl_autoload と spl_autoload_call があり、これら 2 つの異なる関数アドレスを autoload_func に指定することで、異なる自動ロード メカニズムが実装されます。
コードは次のとおりです:
test.class.php
コードをコピーします
コードは次のとおりです:
class abc{ function __construct() { echo 'www .chhua.com; $class_name) {
$file name = $class_name.".class.php";if (is_file($filename)) return_once $filename
}
}
/**
* オブジェクトの自動ロードを設定します
* spl_autoload_register — 指定された関数を __autoload() 実装として登録します
*/
spl_autoload_register( array('LOAD', 'loadClass')) ;
$a = new Test();//多くのフレームワークはこのメソッドを使用してクラスを自動的にロードします