ホームページ  >  記事  >  バックエンド開発  >  spl_autoload_register() と __autoload()、splregisterautoload_PHP チュートリアル

spl_autoload_register() と __autoload()、splregisterautoload_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-12 08:54:24937ブラウズ

spl_autoload_register() と __autoload()、splregisterautoload

spl_autoload_register() と __autoload() について

両方の使用法を見てください:

//__autoload の使用法 __autoload($classname) { $filename = "./class/".$classname.".class.php"; if (is_file($filename)) { include $filename } }
//spl_autoload_register;使用法 spl_autoload_register('load_class');
functionload_class($classname) { $filename = "./class/".$classname.".class.php"; if (is_file($filename)) { include $filename } }

spl_autoload_register() を使用する利点は、言葉では言い表せません: (1) オブジェクトを自動的にロードする方が便利で、多くのフレームワークがこれを実行します:

class ClassAutoloader { public function __construct() { spl_autoload_register(array($this, 'loader')) } private function loader($className) { echo 'ロードしようとしています ', $className, ' via ', __METHOD__, "() n"; include $className . '.php'; } }
$autoloader = new ClassAutoloader();
$obj = new Class1(); $obj = new Class2();

(2) __autoload() 関数は 1 回しか存在できないことを知っておく必要があります。 もちろん、spl_autoload_register() は複数の関数を登録できます。

関数 a () { 'a.php' を含む } 関数 b () { 'b.php' を含む } spl_autoload_register('b');

(3) SPL 関数は豊富で、登録済み関数の登録を解除する spl_autoload_unregister() や、登録されているすべての関数を返す spl_autoload_functions() など、より多くの関数を提供します。

http://www.bkjia.com/PHPjc/1120378.htmlwww.bkjia.com本当http://www.bkjia.com/PHPjc/1120378.html技術記事 spl_autoload_register() と __autoload()、splregisterautoload spl_autoload_register() と __autoload() については、両方の使用法を参照してください。 //__autoload 使用法 function __autoload($classname) {...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。