関数 spl_autoload_call
関数 spl_autoload_call は、指定されたクラスをロードするために登録されているすべてのオートローダーを呼び出します。オートローダーを登録する spl_autoload_register とは異なり、この関数は直接それらの呼び出しを実行します。唯一のパラメータは、ロードする必要があるクラス名です。
構文
spl_autoload_call(string $class_name): void
例
オートローダーなしで存在しないクラスをロードしてみましょう:
<?php
spl_autoload_call('NonExistentClass');
?>
コード実行結果(オートローダーが登録されていない場合、エラー):
// 登録されたオートローダーがなければ、何も起こらない
例
シンプルなオートローダーを作成し、クラスをロードしてみましょう:
<?php
spl_autoload_register(function($class) {
echo "クラスをロードしようとしています: $class\n";
});
spl_autoload_call('TestClass');
?>
コード実行結果:
クラスをロードしようとしています: TestClass
例
複数のオートローダーでの動作を確認しましょう:
<?php
spl_autoload_register(function($class) {
echo "最初のローダー: $class\n";
});
spl_autoload_register(function($class) {
echo "2番目のローダー: $class\n";
});
spl_autoload_call('MyClass');
?>
コード実行結果:
最初のローダー: MyClass
2番目のローダー: MyClass
関連項目
-
オートローダーを登録する関数 spl_autoload_register,
-
オートローダーを返す関数 spl_autoload_functions,
-
クラスをチェックする関数 class_exists,