多くの開発者がオブジェクト指向アプリケーションを作成するとき、各クラスの定義用の PHP ソース ファイルを作成します。大きな煩わしさは、各スクリプトの先頭にインクルード ファイルの長いリスト (クラスごとに 1 つのファイル) を記述しなければならないことです。
ソフトウェア開発システムでは、すべてのクラスを PHP ファイル内に記述することは不可能であり、別のファイルで宣言されたクラスを PHP ファイル内で呼び出す必要がある場合、そのファイルを include を通じて導入する必要があります。ただし、多くのファイルを含むプロジェクトでは、必要なクラスのすべてのファイルを 1 つずつインクルードするのが面倒な場合があります。では、このクラスを使用するときに、php ファイルをどこにインポートすればよいでしょうか。これがここで説明する内容ですクラスの自動ロード。
PHP 5 では、まだ定義されていないクラスを使用しようとすると自動的に呼び出される __autoload() 関数を定義できます。この関数を呼び出すことで、スクリプト エンジンは必要なクラスをロードする前に最後の機会を得ることができます。 PHP はエラーで失敗します。__autoload() 関数によって受け取られるパラメータの 1 つは、ロードするクラスのクラス名です。そのため、プロジェクトで作業するときは、ファイル名を整理して定義するときに特定のルールに従う必要があります。クラス名を中心に置くのが最善であり、xxx_classname.php、classname_xxx.php、classname.php などの統一されたプレフィックスまたはサフィックスを追加してファイル名を形成することができます。
この例では、MyClass1.php ファイルと MyClass2.php ファイルからそれぞれ MyClass1 クラスと MyClass2 クラスをロードしようとします
リーリーDiscuzX2.5の処理方法は次のとおりです:
リーリー
注: __autoload() は、存在しない クラス用に特別に設計されています ! ! !多くのフレームワークはこの関数を使用して、クラスファイルの自動ロードを実現しています。 ! !