这个函数是一个自动加载类函数,啥事自动加载函数,顾名思义 ,那就是自己就会加载类的函数(原谅我废话了)

我们先看下面的代码:

<?php
function __autoload($classname) {echo "helloworld";
} $obj = new Test1();

以上代码我们定义了一个自动加在类函数 __autoload,传入参数是$classname,记住,这里需传参,手册里面的函数说明如下:

void __autoload ( string $class )

我们需在此传入参数。我们的自动加载类函数里面输出了hellworld,这个应该是没有问题的。

我们接着看我们的代码 $obj = new Test1(); 在这里,我们并没有写上类Test1,那么我们执行以下代码看看:

以上是运行结果,发现自动输出了hellworld,在这里只有__autoload 代码有输出了hellworld。说明我们的antoload在未调用的情况下调用了。

在这里,我要说明以下,我们antoload函数会在我们在加载未定义的类的时候触发,而我们并没有定义Test1这个类,所以在此触发了。唔这样说应该明白了 =。=。。。

现在我们来尝试修改成以下修改这个代码:

<?php
function __autoload($classname) {$classfile = $classname . '.php';  if ( is_file($classfile) ) {  require_once($classfile);  }} $obj = new Test1();
$obj->TestFunction();

我在函数里面接收了 classname ,并且给了后缀名,然后用if判断文件是否存在,如果存在那么就调用TestFunction。
那么在此我们还需要在当前目录下新建一个这个类文件,文件名当然是和 classname 一样的,这个 classname 就是我们的Test1,在这里我们new Test1所以我们传入autoload的参数就是Test1,所以我们在这里新建一个Test的php文件,里面代码如下:

<?php
class Test1 { function TestFunction() {echo 'hello world';}
}

然后我们在此运行:

有关 php __autoload 自动加载类函数的用法相关推荐

  1. PHP自动加载类函数__autoload

    这个也不是新技术,不过还是有必要写下.在我们加类的时候,一般需要将类文件包含进来不管用include还是require.php提供了一个魔术方法__autoload(),可以自动加载,不过根据不同的开 ...

  2. php的_autoload函数实现自动加载类的使用

    本文章详细的以实例来介绍了关于php _autoload自动加载类的用法以及如何使用_autoload来减少程序上的include和require的调用哦. 在使用PHP的OO模式开发系统时,通常大家 ...

  3. php自动加载机制的实现

    一.什么是自动加载 自动加载就是当我们在当前文件中实例化一个不存在的类时,调用自动加载机制引入相应的类文件. 注:自动加载有两种方式(都是php内置的),一种是通过__autoload(),另一种是通 ...

  4. 说一下php的自动加载,php的_autoload函数实现自动加载类的使用

    本文章详细的以实例来介绍了关于php _autoload自动加载类的用法以及如何使用_autoload来减少程序上的include和require的调用哦. 在使用PHP的OO模式开发系统时,通常大家 ...

  5. PHP自动加载类—__autoload()和spl_autoload_register()

    test.php <?php function __autoload($class_name) { require_once $class_name . '.php'; } $obj = new ...

  6. PHP自动加载__autoload的工作机制

    PHP自动加载__autoload的工作机制 PHP的懒加载lazy loading 在 2011年11月12日 那天写的     已经有 4559 次阅读了 感谢 参考或原文 服务器君一共花费了11 ...

  7. PHP的自动加载__autoload spl_autoload_register

    https://www.jb51.net/article/134372.htm 问题 传统上,在PHP里,当我们要用到一个class文件的时候,我们都得在文档头部require或者include一下: ...

  8. php autoload用法,php自动加载__autoload()函数用法

    autoload在php主版本中是自动加载文件的一个方法了我们可以定义许多的文件在目录然后通过autoload加载了,下面来看看autoload函数用法. 在PHP5之后,我们可以通过 __autol ...

  9. php加载autoload,php自动加载类__autoload()的方法_PHP教程

    本文章来给大家简单的介绍一下关于php自动加载类__autoload()的方法,希望此方法对各位同学会有所帮助哦. 作用:当在程序中需要实例化一个类,刚好这这类又不是在本文件中,则需要用包含函数将外部 ...

最新文章

  1. SAP质量管理模块常见问题及解决方案
  2. Python两个内置函数——locals 和globals
  3. 算法笔记_001:斐波那契数的多种解法(Java)
  4. hystrix thread pool Metrics
  5. .Net开发人员应该下载的十种必备工具(一)
  6. 数据产品-核心能力学习
  7. 我见过太多PhD,精神崩溃、心态失衡、身体垮掉、一事无成
  8. QT汽车客运公司售票系统
  9. Leetcode 刷题 - 排序(day4)_颜色排序
  10. Frank-Wolfe方法
  11. NLP入门学习(一):搜狗新闻语料库的获取与预处理
  12. 企业微信hook接口,pc企业微信协议
  13. 球定位实景导航 iOS实用应用周排行
  14. PHP初级程序员出路
  15. windows桌面ui开发
  16. Fedora最新下载地址
  17. 802.11协议精读10:节能模式(PSM)
  18. 路标识别 matlab 聚类算法,基于卷积神经网络的交通路标检测v1.doc
  19. L2-018 多项式A除以B (25分)
  20. 如何在Python中创建OpenGL/Glut

热门文章

  1. 如何优雅的移植JavaScript组件到Blazor
  2. 开源项目葫芦藤:IdentityServer4的实现及其运用
  3. 基于Prometheus和Grafana打造业务监控看板
  4. [NewLife.Net]单机400万长连接压力测试
  5. 【朝夕技术专刊】WebApi部署多服务器配置Nginx负载均衡
  6. CQRS架构下Equinox开源项目分析
  7. 使用 Nexus3镜像搭设私有仓库(Bower 、Docker、Maven、npm、NuGet、Yum、PyPI)
  8. asp.net core 环境(Development、Staging 、Production)
  9. swagger文档转换为WebApiClient声明式代码
  10. g4e基础篇#3 Git安装与配置