ホームページ  >  記事  >  バックエンド開発  >  PHPオートロードの仕組みを徹底解説_PHPチュートリアル

PHPオートロードの仕組みを徹底解説_PHPチュートリアル

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

PHP の OO モードを使用してシステムを開発する場合、通常は各クラスの実装を別のファイルに保存するのが一般的です。これにより、クラスの再利用が容易になり、将来のメンテナンスにも便利になります。これは、OO デザインの基本的な考え方の 1 つでもあります。 PHP5 より前では、クラスを使用する必要がある場合、include/require を使用してクラスを直接インクルードするだけで済みます。
以下は実際的な例です:

コードをコピーします コードは次のとおりです:

/* Person.class.php */
class Person {
var $name, $年齢;

function __construct ($name, $age)
{
$this->name = $name;
$this->age = $age;
}
}
?>

/* no_autoload.php */
require_once ("person.class.php");

$person = new Person("Altair", 6);
var_dump ($person);
?>


この例では、no-autoload.php ファイルは、require_once を使用して Person クラスを使用する必要があります。 Contains の場合、 Person クラスを直接使用してオブジェクトをインスタンス化できます。

しかし、プロジェクトの規模が拡大し続けると、この方法を使用するといくつかの隠れた問題が発生します。PHP ファイルが他の多くのクラスを使用する必要がある場合、多くの require/include ステートメントが必要になり、省略や不要なインクルードが発生する可能性があります。クラスファイル。多数のファイルで他のクラスの使用が必要な場合、各ファイルに正しいクラス ファイルが含まれていることを確認するのは悪夢のような作業になります。

PHP5 は、クラスの自動読み込み (オートロード) メカニズムというこの問題の解決策を提供します。オートロード機構により、PHP プログラムは最初からすべてのクラス ファイルを組み込むのではなく、クラスが使用される場合にのみクラス ファイルを自動的に組み込むことができます。この機構は遅延ロードとも呼ばれます。

以下は、自動ロード メカニズムを使用して Person クラスをロードする例です:

コードをコピーします コードは次のとおりです:

/* autoload.php */
function __autoload ($classname) {
require_once ($ classname . “class.php”);
}

$person = new person("Altair", 6);
var_dump ($person);
?>


www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/327528.html技術記事 PHP の OO モードを使用してシステムを開発する場合、通常は各クラスの実装を別のファイルに保存するのが通例です。これにより、クラスの再利用と将来のメンテナンスが容易になります...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。