自動ロードの原則
自動ロードの原則は、新しいクラスを作成するときに、PHP システムがクラスを見つけられない場合に発生します。を実行すると、このファイルの __autoload($class_name) メソッドが自動的に呼び出され、新しい class_name がこのメソッドのパラメータになります。
したがって、このメソッドでは、自動ロードを実現するために新しい class_name が必要な、さまざまな判断と分割に基づいて、対応するパス クラス ファイルを要求できます。
__autoload の使用方法のチュートリアル:
__autoload() の自動呼び出しを段階的に見てみましょう。例を見てみましょう:
index.php
$db =new DB();
DB クラスを手動でインポートしない場合、プログラムはこのクラスが見つからないというエラーを報告する可能性があります:
致命的エラー: クラス 'DB' が D:\wamp\www\testphp\autoload\index.php の 3
行目に見つかりません。それでは、__autoload() メソッドを追加して見てみましょう。
$db =new DB(); function __autoload($className) { echo $className; exit(); }
上記の自動読み込みメカニズムの説明によると、分析後には何が出力されますか?そうです。これは出力 DB でなければなりません。これは、新しく必要なクラスのクラス名です。したがって、現時点では、必要に応じて __autoload() メソッドでクラス ライブラリ ファイルをロードできます。
index.php
$db =new DB(); function __autoload($className) { require $className .'.php'; }
DB.php
class DB { publicfunction __construct() { echo 'Hello DB'; } }
このようにして、すべてを簡単に追加できます新しい必要があるクラスはインポートされます。この方法で、次のような N クラスを簡単に作成できます。
<?php function __autoload($className) { require $className .'.php'; } $db =new DB(); $info =newInfo(); $gender =newGender(); $name =newName(); //也是支持静态方法直接调用的 Height::test();
推奨チュートリアル: PHP チュートリアル
以上がPHP の自動ロードの原理と __autoload の使用に関するチュートリアルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。