`
moqiang02
  • 浏览: 527559 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
文章分类
社区版块
存档分类
最新评论

php __autoload函数 加载类文件

 
阅读更多

面向对象的开发时,大家肯定都会遇到这样的问题,就是加载文件,一般都是加文件的头部inclue_once,require一大堆,看着很让人烦。当然你可以自己写程序来加载。php5以后引入了__autoload这个函数,可以帮我们解决这个问题。

有人说__autoload会影响性能,用这个函数的确会影响性能,但是并不像有些人说的那样,影响的很厉害。include,require重复加载也会影响性能。现在很多框架也用__autoload,例如:thinkphp,yii都用了这个函数。用include等产生的人力成本与用__autoload产生的性能成本,我宁愿选择第一个。

建二个文件,test.php,test1.php,这二个文件在同一目录下

  1. //以下是test.php内容
  2. <?php
  3. classtest{
  4. publicfunctionshow(){
  5. echo"test";
  6. }
  7. }
  8. ?>
  9. ---------------------------上下是二个文件----------------------------------
  10. //以下是test1.php的内容
  11. <?php
  12. function__autoload($class_name){
  13. require_once$class_name.'.php';
  14. }
  15. $test=newtest();
  16. $test->show();//显示是test
  17. ?>

在这里如果不用__autoload这个函数的话,就必须加载这个文件,include test.php要把这句加到头部。

__autoload 函数,它会在试图使用尚未被定义的类时自动调用。通过调用此函数,脚本引擎在 PHP 出错失败前有了最后一个机会加载所需的类。

分享到:
评论

相关推荐

    php中使用__autoload()自动加载未定义类的实现代码

    当PHP引擎遇到未实例化的类时就会触发这个方法,当然你的php代码中要用到__autoload()才可以哦

    PHP中spl_autoload_register()函数用法实例详解

    这是一个自动加载函数,在PHP5中,当我们实例化一个未定义的类时,就会触发此函数。看下面例子: printit.class.php: &lt;?php class PRINTIT { function doPrint() { echo 'hello world'; } } ?&gt; index....

    PHP自动载入类文件函数__autoload的使用方法

    开发面向对象的应用程序时,往往要对每个类的定义建立一个 PHP 源文件。...这就是我们这里我们要讲的自动加载类。 在 PHP 5 中,可以定义一个 __autoload()函数,它会在试图使用尚未被定义的类时自动调用

    PHP spl_autoload_register实现自动加载研究

    spl_autoload_register()函数应该是主流框架使用最多的也是非常核心的函数之一,可实现自动注册函数和类,实现类似__autoload() 函数功能,简化了类的调用与加载,提高了工作的效率

    php项目中类的自动加载实例讲解

    将函数注册到SPL __autoload函数队列中。如果该队列中的函数尚未激活,则激活它们。 如果在你的程序中已经实现了__autoload()函数,它必须显式注册到__autoload()队列中。因为spl_autoload_register()函数会将Zend ...

    php-autoload:[php]通用类自动加载器

    例如,对于名为My \ ClassName的类,要加载的文件将位于./My/ClassName.php。 (可选)可以将基本目录传递给该函数,该目录将位于该文件的路径之前。 用 &lt;?php require_once 'autoload.php' ; autoload (); ...

    PHP SPL标准库中的常用函数介绍

    PHP SPL标准库中提供了一些函数用来处理如自动加载、迭代器处理等。 spl_autoload_extensions()添加spl_autoload()可加载的文件扩展名 ...//设置可加载类的文件扩展名 spl_autoload_extensions(“.php,.inc.php,.

    php中spl_autoload详解

    SPL有两个不同的函数 spl_autoload, spl_autoload_call,通过将autoload_func指向这两个不同的函数地址来实现不同的自动加载机制。 spl_autoload 是SPL实现的默认的自动加载函数,它的功能比较简单。它可以接收两个...

    php类的自动加载操作实例详解

    当出现两种情况时候,就会调用该函数,该函数需要我们预先定义,在其中写好加载类文件的通用语句 function __autoload($name){ require './lib/'.$name.'.class.php'; } 使用spl_autoload_register() 用它注册...

    PHP autoload 机制详解

    PHP在魔术函数__autoload()方法出现以前,如果你要在一个程序文件中实例化100个对象,那么你必须用include或者require包含进来100个类文件,或者你把这100个类定义在同一个类文件中——相信这个文件一定会非常大。...

    php注册与自动加载类

    需要的朋友参考下,步骤1中的类的路径都是相对于init.php而言的,不是相对于Utils而言的,这是因为我们通过init.php里的自动加载函数spl_autoload_register来require类的。

    php注册与自动加载类.zip

    需要的朋友参考下,步骤1中的类的路径都是相对于init.php而言的,不是相对于Utils而言的,这是因为我们通过init.php里的自动加载函数spl_autoload_register来require类的。

    PHP语言开发常见问题解决办法入门总结.docx

    自动加载类文件 技巧描述:使用spl_autoload_register()函数实现自动加载机制,避免在每个文件中手动包含所需的类文件,提升代码结构和性能。 命名空间的运用 技巧详情:在PHP 5.3及更高版本中,利用命名空间避免...

    PHP命名空间与自动加载类详解

    本文实例讲述了PHP命名空间与自动加载类。分享给大家供大家参考,具体如下: 今天我要给大家介绍的是PHP的命名空间 和 自动加载类 我先简单的分开演示 在放在一起 大家请看: 什么是自动加载类? 想必大家都应该知道...

    php面向对象全攻略 (十七) 自动加载类

    自动加载类 很多开发者写面向对象的应用程序时,对每个类的定义建立一个PHP 源文件。一个很大 的烦恼是不得不在每个脚本(每个类一个文件)开头写一个长长的包含文件的列表。 在软件开发的系统中,不可能把所有的类...

    PHP MVC框架中类的自动加载机制实例分析

    spl_autoload_register用于调用相关自动加载所需类的函数,实现自动载入的功能。 有一点要注意的是:自动加载在实例化类的时候执行,也就是说使用extends继承类的时候,是不会自动加载父类的。 设置目录如下: 实现...

    php基础知识:类与对象(2) 自动加载对象

    自动加载对象: 很多开发者写面向对象的应用程序时对每个类的定义建立一... 本例尝试分别从 MyClass1.php 和 MyClass2.php 文件中加载 MyClass1 和 MyClass2 类。 function __autoload($class_name) { requi

    PHP中的use关键字及文件的加载详解

    (1):在通过use关键字进行声明类库的声明的时候,并不会进行脚本的加载,而是在脚本文件真正使用到所对应的类库的时候才会进行加载(这就是所谓延迟加载)。 (2):框架一般在初始化阶段,就声明了__autoload()函数或者是...

    PHP框架自动加载类文件原理详解

    描述:公司项目PHP用作中间转发层(接收http请求,用 socket跟c++做通信),由于代码没有用到框架,这些...实现方法:主要用到PHP函数__autoload() 详细: error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTI

Global site tag (gtag.js) - Google Analytics