直接上代码了:

<?php function loadclass( $class ) { $file = $class . '.php'; if (is_file($file)) { require_once($file); } } spl_autoload_register( 'loadclass' ); $obj = new Test1(); $obj->TestFunction(); ?>

以上php代码有一个函数loadclass有一个参数class;
file变量为class变量+php后缀;
判断是否存在这个文件,如果存在那么就引入。

接下来使我们spl_autoload_register函数,这个函数在我们如果新建一个类,但是这个类并没有在当前文件声明,或者是未包含的情况。言而总之就是说当这个类引用不到的情况下将会调用;换一个词说就是会触发这个函数。

我们看我们下一行我们new Test1这个类,可是我们在这里没有声明,那么将会触发spl_autoload_register函数执行loadclass方法,那么在这里loadclass方法将会传入一个class,那么这个class就是我们的Test1这个字符串,因为我们new的这个变量是Test1这个类。

那么将这个类引入到当前文件后,那么我们调用就没问题了,我们下面列出我们的Test1类中内容:

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

运行如下:

比__autoload 更灵活的 spl_autoload_register 用法相关推荐

  1. 【SQL开发实战技巧】系列(八):聊聊如何插入数据时比约束更灵活的限制数据插入以及怎么一个insert语句同时插入多张表

    系列文章目录 [SQL开发实战技巧]系列(一):关于SQL不得不说的那些事 [SQL开发实战技巧]系列(二):简单单表查询 [SQL开发实战技巧]系列(三):SQL排序的那些事 [SQL开发实战技巧] ...

  2. 百度大脑EasyDL专业版重磅升级 预置网络更丰富,开发更灵活

    百度大脑EasyDL是基于飞桨框架PaddlePaddle推出的面向企业打造的零门槛AI开发平台,可为各行业有AI模型开发需求的企业及开发者,提供从数据管理与标注.模型训练.服务部署的全流程支持,使用 ...

  3. WebSocket的故事(六)—— Springboot中,实现更灵活的WebSocket

    概述 WebSocket的故事系列计划分五大篇六章,旨在由浅入深的介绍WebSocket以及在Springboot中如何快速构建和使用WebSocket提供的能力.本系列计划包含如下几篇文章: 第一篇 ...

  4. 如何用 Serverless 让 SaaS 获得更灵活的租户隔离、更优的资源开销

    关于SaaS和Serverless,相信关注我的很多读者都已经不陌生,所以这篇不会聊它们的技术细节,而将重点放在SaaS软件架构中引入Serverless之后,能给我们的SaaS软件带来多大的收益. ...

  5. 汇编程序-更灵活的定位内存地址方法

    汇编程序-更灵活的定位内存地址方法 如何灵活运用定位内存的方法呢?在之后,我们将列出几个实际例子.通过例子,展示定位内存的一些方法,熟悉和提升我们对汇编程序的理解. 大小写转化(1) 通过上面的汇编程 ...

  6. 汇编: 更灵活的定位内存地址的方法

    bx是偏移地址寄存器.同样的, si,di也是偏移地址寄存器. 这样使用了si,di可以更灵活的定位内存地址. assume cs:codecode segmentstart: mov bx,0mov ...

  7. 更灵活的边缘云原生运维:OpenYurt 单元化部署新增 Patch 特性

    作者 | 张杰(冰羽) 来源 | 阿里巴巴云原生公众号 背景 在正文开始之前,我们先回顾一下单元化部署的概念和设计理念.在边缘计算场景下,计算节点具有很明显的地域分布属性,相同的应用可能需要部署在不同 ...

  8. 更灵活的定位内存地址的方法---汇编学习笔记

    更灵活的定位内存地址的方法 前面,我们用[0].[bx]的方法,在访问内存的指令中,定位内存单元的地址.本章将用更灵活的方式来定位内存地址. 7.1 and和or指令 (1)and指令:逻辑与指令,按 ...

  9. 【论文解读】让特征感受野更灵活,腾讯优图提出非对称卡通人脸检测,推理速度仅50ms...

    该文是腾讯优图&东南大学联合提出一种的非对称卡通人脸检测算法,该方法取得了2020 iCartoon Face Challenge(Under 200MB)竞赛的冠军,推理速度仅为50ms且无 ...

最新文章

  1. 巴西CC成为FreeStor全球首个用户
  2. java定义一个盒子类box_定义一个Box(盒子)类,在该类定义中包括数据成员: length(长),width(宽)和height(...
  3. EasyUI 分页 偶遇 问题
  4. 按钮旁边加一个提示_地铁站的那些“红色按钮”,你知道是干啥用的吗?乱按可能被拘留...
  5. [Ext JS6]工作区-Workspace
  6. 从内存布局上看,Rust的胖指针到底胖在栈上还是堆上?
  7. 最后2天,BDTC 2019早鸟票即将售罄,超强阵容及议题抢先曝光!
  8. 全新AI内参:量子位精心打磨,最新产业资讯、科研进展一文呈现
  9. 如何将access数据库导入到sql2005数据库中
  10. 安全应急响应工作中易犯的5大错误
  11. 计算机毕业设计Java房产客户信息管理系统(源码+系统+mysql数据库+lw文档)
  12. 京东疯狂月薪36k程序员最新Java面试题(常见面试题及答案汇总)
  13. 中文语音评测之thchs30+gop_speechocean762实现
  14. ccf 201612-3 权限查询(100分)
  15. 企业转型升级,务必抓住“企业上云”政策红利
  16. java基础:注解的定义与使用
  17. 华为北京研究所第一届黑客马拉松比赛-基于Android防止儿童走失
  18. kali系统破解wifi密码
  19. 学习 Go 语言 1 — 基础语法
  20. 一张图入门Python

热门文章

  1. LG将授权webOS给其他电视厂商使用
  2. .NET Core开源任务调度平台ScheduleMaster上新了
  3. 国际化组件 Unicode (ICU) 函数库
  4. 了解下C#由转换二进制所引起的思考
  5. [半翻] 设计面向DDD的微服务
  6. 中国速度之二神山建设(3):有力的技术保障,基建世界里的云原生缩影 | IDCF DevOps案例研究...
  7. 同源策略_如何支持跨域
  8. 3分钟搞懂前后端开发的区别
  9. 使用DbContextPool提高EfCore查询性能
  10. Magicodes.Sms短信库的封装和集成