主要函数:spl_autoload_register() — 注册给定的函数作为 __autoload() 的实现
将函数注册到SPL __autoload函数队列中。如果该队列中的函数尚未激活,则激活它们。
如果在你的程序中已经实现了__autoload()函数,它必须显式注册到__autoload()队列中。因为spl_autoload_register()函数会将Zend Engine中的__autoload()函数取代为spl_autoload()或spl_autoload_call()。
<?php // $class 类名 function autoloader_1($class) { include 'classes/' . $class . '.class.php'; } function autoloader_2($class) { include 'classes/' . $class . '.class.php'; } // 可以多次使用,但 __autoload() 函数只能使用一次。 spl_autoload_register('autoloader_1'); spl_autoload_register('autoloader_2'); // 或者,自 PHP 5.3.0 起可以使用一个匿名函数 spl_autoload_register(function ($class) { include 'classes/' . $class . '.class.php'; });
php类的自动加载实例:
index.php文件
<?php define("BASEDIR", __DIR__); include BASEDIR . "/app/Loader.php"; // 自动加载类及文件 spl_autoload_register('\\app\\Loader::Autoload');
app目录下的Loader.php文件
<?php namespace app; class Loader { static function autoload( $class ) { require BASEDIR . '/' . str_replace('\\', '/', $class) . '.php'; } }
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
长按识别二维码并关注微信
更方便到期提醒、手机管理