制作公司网站教程,平台推广方案设计思路,欧洲大型服务器,wordpress数据库导入插件本文章来给大家简单的介绍一下关于php自动加载类__autoload()的方法#xff0c;希望此方法对各位同学会有所帮助哦。作用#xff1a;当在程序中需要实例化一个类#xff0c;刚好这这类又不是在本文件中#xff0c;则需要用包含函数将外部文件包含进来。但是#xff0c;当要…本文章来给大家简单的介绍一下关于php自动加载类__autoload()的方法希望此方法对各位同学会有所帮助哦。作用当在程序中需要实例化一个类刚好这这类又不是在本文件中则需要用包含函数将外部文件包含进来。但是当要用的外部类很多后就会发现用包含函数会显得十分的繁琐这是就可以用__autoload()全局函数自动加载类。当在index.php中要使用前面三个类时就需要写三个例如include(name.class.php) 这样的方法效率会十分低但如果使用了__autoload()函数就不用这样麻烦了只需要写这样一个函数方法就可以了在 PHP 5 中不再需要这样了。可以定义一个 __autoload() 函数它会在试图使用尚未被定义的类时自动调用。通过调用此函数脚本引擎在 PHP 出错失败前有了最后一个机会加载所需的类。在下例中将通过实例来说明 __autoload() 是如何使用的。首先定义一个类ClassA文件名为ClassA.class.php代码如下复制代码class ClassA{public function funa(){echo classA loaded successfully!;}}然后在相同目录下再定义另一个类ClassB文件名为ClassB.class.phpClassB继承ClassA代码如下复制代码class ClassB extends ClassA {public function funb(){echo classB also loaded successfully!;}}最后在与上面两个文件相同目录下再定义一个autoload.php(这个文件名随便取)代码如下复制代码function __autoload($class_name) {require_once (./.ucfirst($class_name)..class.php);//ucfirst使类名首字母转换为大写}$obj new ClassB();$obj-funa();$obj-funb();?运行autoload.php的程序看结果classA loaded successfully!classB also loaded successfully!例子 文件夹下有这样几个文件User.class.php;Person.class.php;Message.class.php;index.php;我们就可以这样操作代码如下复制代码index.phpfunction __autoload($className){ //ucfirst() 将字符串首字母变为大写include(ucfirst($className).class..php); }/***************例如在index.php文件中实例化User.class.php中的User类如果不存在则自动调用__autoload()函数代码如下复制代码*将类名User作为参数传入*************/$usernew User();//通过自动加载类调用User.class.php文件$personnew Person();//通过自动加载类调用Person.class.php文件$Messagenew Message();//通过自动加载类调用Message.classphp文件 function messagenew personnew usernewhttp://www.bkjia.com/PHPjc/632689.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/632689.htmlTechArticle本文章来给大家简单的介绍一下关于php自动加载类__autoload()的方法希望此方法对各位同学会有所帮助哦。 作用当在程序中需要实例化一...