オブジェクト指向の設計原則 PHP オブジェクト指向ガイド (17) クラスの自動ロード

WBOY
リリース: 2016-07-29 08:40:52
オリジナル
894 人が閲覧しました

クラスの自動ロード
多くの開発者がオブジェクト指向アプリケーションを作成する場合、クラス定義ごとに 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()?>
以上、オブジェクト指向の設計原則を紹介しました。 PHP オブジェクト指向ガイド (17) クラスの自動ロード (オブジェクト指向の設計原則を含む) は、PHP チュートリアルに興味のある友人に役立つことを願っています。


ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!