ここではこの機能の特徴を実験を通してお話します。
関数プロトタイプ
bool spl_autoload_register ([ callback $autoload_function [, bool $throw = true [, bool $prepend = false ]]] )
バージョン互換性
PHP 5 >= 5.1.2
実験プロセス
ステップ1、使用spl_autoload_register() 関数は、load() メソッドを登録します
コードをコピーします コードは次のとおりです。 ('load') ;
?>
lib.php ファイルのコードは次のとおりです
コードをコピーします
class className{ function Method(){ echo 'クラス内のメソッド '; }
}functiononlyMethod(){
echo 'メソッドのみ';
?> クラス
コードは次のとおりです。
$class = new className();
$class->method();
3 番目のステップでは、関数 onlyMethod(); を直接呼び出します。説明: インスタンス化されたクラスはありません。 lib.php ファイルのonlyMethod() 関数を呼び出します 出力: 致命的なエラー: '...(省略パス)' 内の未定義関数onlyMethod() を呼び出します 4 番目のステップ、className クラスをインスタンス化し、それを呼び出します直接
$class = new className();onlyMethod();
出力: メソッドのみ
上記の 4 ステップの実験から、ロードされたファイルに関数が含まれている場合は内部のクラスをインスタンス化する必要があり、そうでない場合は例外が発生することがわかりました。未定義関数呼び出しエラーが発生しますので、ご使用の際はご注意ください。
参加情報: spl_autoload_register