spl_autoload_register()関数は、主流のフレームワークで最も一般的に使用されるコア関数の1つである必要があり、関数とクラスの自動登録を実現し、autoload()と同様の機能を実現し、クラスの呼び出しとロードを簡素化できます。を実現し、作業効率を向上させます
ここでは、この機能のいくつかの特徴を実験を通して説明します。
関数プロトタイプ
bool spl_autoload_register ([ callback $autoload_function [, bool $throw = true [, bool $prepend = false ]]] )
バージョン互換
PHP 5 >= 5.1.2
実験プロセス
最初のステップ、spl_autoload_register() 関数を使用して、load() メソッドを登録します
コードは次のとおりです:
<?php function load(){ require_once'lib.php'; } spl_autoload_register('load'); ?>
lib.php ファイルのコードは次のとおりです
コードは次のとおりです:
<?php class className{ function method(){ echo 'a method in class'; } } function onlyMethod(){ echo 'method only'; } ?>
説明: lib.php ファイルは className クラスであり、onlyMethod 関数です
2 番目のステップでは、自動ロード クラスを呼び出します。コードは次のとおりです:
$class = new className(); $class->method(); onlyMethod();出力:
a method in class method only
手順: className クラスをインスタンス化します。 class method() 関数を呼び出し、同時にonlyMethod() メソッドを呼び出します。出力は正常で、エラーは発生しません
onlyMethod();
致命的なエラー: '...(省略パス)' で未定義の関数onlyMethod() を呼び出します
4 番目のステップ、className クラスをインスタンス化し、次に、直接呼び出します
$class = new className(); onlyMethod();
以上がspl_autoload_register を使用して自動読み込みインスタンスを実装する方法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。