spl_autoload_register指定した関数を __autoload() の実装として登録する 説明
bool spl_autoload_register(callablenull
$callback = null , bool $throw = true , bool $prepend = false )指定した関数を、spl が提供する __autoload キューに登録します。 キューがまだアクティブになっていない場合は、まずアクティブにします。 もしあなたのコード中に __autoload 関数が存在するのなら、 それを明示的に __autoload キューに登録しなければなりません。 なぜなら、spl_autoload_register は、 spl_autoload あるいは spl_autoload_call によって __autoload 関数のエンジンキャッシュを効率的に置き換えるからです。 複数の autoload 関数が必要となる場合でも spl_autoload_register は対応できます。この関数は autoload 関数のキューを作成し、 定義された順にそれを実行していきます。一方 __autoload は、一度しか定義できません。 パラメータ
戻り値
成功した場合に 変更履歴
例
例1 spl_autoload_register を __autoload 関数の代わりに使う例
<?php 例2 spl_autoload_register でクラスをロードしない例
<?php 上の例の出力は、 たとえば以下のようになります。 [[Foobar\InexistentClass]] Fatal error: Class 'Foobar\InexistentClass' not found in ... 例3 識別子には先頭のバックスラッシュが付かない
<?php 上の例の出力は以下となります。 string(12) "RelativeName" string(26) "RelativeName\WithNamespace" string(12) "AbsoluteName" string(26) "AbsoluteName\WithNamespace" 参考
|