ホームページ  >  記事  >  バックエンド開発  >  PHP 関数 spl_autoload_register() の使用法と __autoload() の紹介_PHP チュートリアル

PHP 関数 spl_autoload_register() の使用法と __autoload() の紹介_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:20:44850ブラウズ

__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; }
}
?>


load.php



コードは次のとおりです:

class LOAD
{
static function loadクラス( $class_name) { $filename = $class_name.".class.php"; if (is_file($filename)) return_once $filename; }
}
/**
* オブジェクトの自動ロードを設定します
* spl_autoload_register — 指定された関数を __autoload() 実装として登録します
*/
spl_autoload_register(array) ('LOAD', 'loadClass')) ;
$a = new Test();//多くのフレームワークはこのメソッドを使用してクラスを自動的にロードします

;



http://www.bkjia.com/PHPjc/325046.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/325046.html
技術記事

__autoload() の使用法についてはこれ以上説明しません。以前に WEB 開発ノートで言及しました。 PHPの__autoload関数の使い方(クラスファイルを自動でロードする)、元アドレス:http://www.jb...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。