ホームページ >バックエンド開発 >PHPチュートリアル >PHP の spl_autoload 標準ライブラリ メソッド、phpspl_autoload_PHP チュートリアル

PHP の spl_autoload 標準ライブラリ メソッド、phpspl_autoload_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:24:02854ブラウズ

php の spl_autoload 標準ライブラリ メソッド、phpspl_autoload

php5 の spl_autoload メソッドは、独自の __autoload

<?<span>php
    </span><span>function</span> __autoload(<span>$classname</span><span>){
        </span><span>if</span>(<span>is_file</span>(<span>$classname</span>.'.php'<span>){
            </span><span>include</span> <span>$classname</span>.'.php'<span>;
        } </span><span>elseif</span>(<span>is_file</span>(<span>$classname</span>.'.inc'<span>){
            </span><span>include</span> <span>$classname</span>.'.inc'<span>;
        }
    }</span>
を実装するのと同等です。

登録ディレクトリ内で $classname と同じ名前の .php/.inc ファイルが自動的に検索されます。もちろん、拡張子を登録して特定のファイルを指定することもできます

リーリー

spl_autoload を自動的にロードするにはどうすればよいでしょうか?その方法は

です。 リーリー

spl_autoload_register には $callback パラメータがあり、指定しない場合は、さらに自動ロード ディレクトリを検索するために、これらのコードの前に自動ロード ディレクトリを設定できます

。 リーリー

これらのメソッドは php フレームワークで一般的に使用されます。

至急、PHPの__autoload関数とspl_autoload_register()関数についてネットで調べても理解できませんでした

__autoloadはクラスライブラリの自動読み込みによく使われます
これは、クラス名に従ってクラスファイルを見つけて、require_one
spl_autoload_register()するという方法です

__autoloadの最大の欠点は、複数のファイルをロードできないことです。 autoload メソッド

次のシナリオを考えてください。あなたのプロジェクトには __autoload があり、他の人のプロジェクトにも __autoload が存在します。このように、2 つの __autoload が競合します。解決策は __autoload を変更して 1 になるようにすることですが、これは間違いなく非常に面倒です。

そのため、spl の autoload シリーズ関数が表示されるように、autoload 呼び出しスタックを緊急に使用する必要があります。 spl_autoload_register を使用して、複数のカスタム オートロード関数を登録できます

PHP バージョンが 5.1 以降の場合は、spl_autoload を使用できます

PHP での spl_autoload_register と spl_autoload_unregister の使用法を教えます

これは __autoload などのオートロードに似た PHP 関数ですが、NEW 中に独自に定義した関数を呼び出したい場合は、
spl_autoload_register
を使用できます。

www.bkjia.com本当http://www.bkjia.com/PHPjc/828048.html技術記事 PHP の spl_autoload 標準ライブラリ メソッド、phpspl_autoload php5 の spl_autoload メソッドは、独自の __autoload? php 関数 __autoload( $classname ){ if ( is_file ( $class...
) を実装するのと同等です。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。