検索
ホームページphp教程php手册PHP オブジェクト指向ガイド (17) クラスの自動ロード

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

Jun 13, 2016 pm 12:21 PM
php完全な戦略書く負荷17物体順序応用開発者親切自動のために

クラスを自動的にロードする
多くの開発者がオブジェクト指向アプリケーションを作成する場合、クラス定義ごとに PHP ソース ファイルを作成します。大きな
の煩わしさは、各スクリプトの先頭にインクルード ファイルの長いリスト (クラスごとに 1 つのファイル) を書かなければならないことです。
ソフトウェア開発システムでは、PHP ファイルにすべてのクラスを記述することは不可能です。PHP ファイル
が別のファイルで宣言されたクラスを呼び出す必要がある場合、このファイル インポートを含める必要があります。しかし、
多くのファイルを含むプロジェクトでは、必要なクラスのすべてのファイルを 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()>?

;
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール