ホームページ > Java > &#&ベース > PHP の自動ロードの原理と __autoload の使用に関するチュートリアル

PHP の自動ロードの原理と __autoload の使用に関するチュートリアル

王林
リリース: 2019-11-13 17:39:48
オリジナル
2500 人が閲覧しました

PHP の自動ロードの原理と __autoload の使用に関するチュートリアル

自動ロードの原則

自動ロードの原則は、新しいクラスを作成するときに、PHP システムがクラスを見つけられない場合に発生します。を実行すると、このファイルの __autoload($class_name) メソッドが自動的に呼び出され、新しい class_name がこのメソッドのパラメータになります。

したがって、このメソッドでは、自動ロードを実現するために新しい class_name が必要な、さまざまな判断と分割に基づいて、対応するパス クラス ファイルを要求できます。

__autoload の使用方法のチュートリアル:

__autoload() の自動呼び出しを段階的に見てみましょう。例を見てみましょう:

index.php

$db =new DB();
ログイン後にコピー

DB クラスを手動でインポートしない場合、プログラムはこのクラスが見つからないというエラーを報告する可能性があります:

致命的エラー: クラス 'DB' が D:\wamp\www\testphp\autoload\index.php の 3

行目に見つかりません。それでは、__autoload() メソッドを追加して見てみましょう。

$db =new DB();
function __autoload($className)
{
  echo $className;
  exit();
}
ログイン後にコピー

上記の自動読み込みメカニズムの説明によると、分析後には何が出力されますか?そうです。これは出力 DB でなければなりません。これは、新しく必要なクラスのクラス名です。したがって、現時点では、必要に応じて __autoload() メソッドでクラス ライブラリ ファイルをロードできます。

index.php

$db =new DB();
function __autoload($className)
{
  require $className .'.php';
}
ログイン後にコピー

DB.php

class DB
{
  publicfunction __construct()
  {
      echo 'Hello DB';
  }
}
ログイン後にコピー

このようにして、すべてを簡単に追加できます新しい必要があるクラスはインポートされます。この方法で、次のような N クラスを簡単に作成できます。

<?php
function __autoload($className)
{
  require $className .&#39;.php&#39;;
}
$db =new DB();
$info =newInfo();
$gender =newGender();
$name =newName();
//也是支持静态方法直接调用的
Height::test();
ログイン後にコピー

推奨チュートリアル: PHP チュートリアル

以上がPHP の自動ロードの原理と __autoload の使用に関するチュートリアルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート