ホームページ  >  記事  >  バックエンド開発  >  PHPオブジェクト指向ガイド(17)クラスの自動読み込み_PHPチュートリアル

PHPオブジェクト指向ガイド(17)クラスの自動読み込み_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:43:54802ブラウズ

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



コードをコピーします

コードは次のとおりです: function __autoload ($classname) {
require_once $classname . '.php';
//MyClass1 クラスは __autoload() 関数を自動的に呼び出しず、パラメーター "MyClass1" を渡します
$obj = new MyClass1(); //MyClass2 クラスは存在しないため、自動的に __autoload() 関数を呼び出し、パラメーター "MyClass2" を渡します
$obj2 = new MyClass2()?>



http://www.bkjia.com/PHPjc/320614.html

www.bkjia.com
tru​​e

http://www.bkjia.com/PHPjc/320614.html

クラスの自動ロード 多くの開発者がオブジェクト指向アプリケーションを作成する場合、クラス定義ごとに PHP ソース ファイルを作成します。大きな煩わしさは、これをすべてのスクリプト (クラスごとに 1 つ) で実行しなければならないことです...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。