ホームページ >バックエンド開発 >PHPチュートリアル >PHPオートロードクラスとは何ですか
php の 自動読み込み:
php5 より前では、特定のクラスまたはクラス メソッドを使用したい場合、クラスを使用する前に include または require を使用する必要がありました。インクルードを書く、問題
PHP の作者はそれを簡単にしたいのですが、現在インクルードがない場合、システムは自動的にクラスを見つけて自動的に導入することができます~
つまり、オートロードです。 ()関数が登場しました。
通常、class_core.php に配置される discuz などのアプリケーション エントリ クラスに配置されます。
まず簡単な例について話しましょう:
最初のケース: ファイル A.php の内容は次のとおりです
<?php class A{ public function construct(){ echo 'fff'; } } ?>
ファイル C.php の内容は次のとおりです:
<?php function autoload($class) { $file = $class . '.php'; if (is_file($file)) { require_once($file); } } $a = new A(); //这边会自动调用autoload,引入A.php文件 ?>
2 番目のケース:時々、自分でできるようにしたいと思っています オートロードを定義し、よりクールな名前のローダーを付けたい場合は、C.php を次のように変更します:
<?php function loader($class) { $file = $class . '.php'; if (is_file($file)) { require_once($file); } } spl_autoload_register('loader'); //注册一个自动加载方法,覆盖原有的autoload $a = new A(); ?>
3 番目のケース: より高度なクラスを使用したい自動読み込みを管理する
<?php class Loader { public static function loadClass($class) { $file = $class . '.php'; if (is_file($file)) { require_once($file); } } } spl_autoload_register(array('Loader', 'loadClass')); $a = new A(); ?>
現時点で最も最適な形式です。
通常、spl_autoload_register(*)をエントリスクリプトに入れる、つまり最初から引用します。例えば、以下のような方法です。
えーこの段落はエントリーファイルの先頭に配置されており、当然素晴らしいです~
以上がPHPオートロードクラスとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。