PHP 类文件的自动加载机制 __autoload()

112 篇文章 1 订阅
订阅专栏

如果一个类在多个脚本中都需要使用,可以将一个类的定义代码,单独的封装到一个文件中,这种文件也叫作类文件,在需要的时候,将整个文件载入进来即可!

PHP在执行的时候,如果发现需要一个类(只要是和这个类相关的任何的操作),但此时当前脚本又没有这个类的定义代码,也没有手动加载这个类文件,那么,PHP会自动的调用一个名字叫作__autoload($class_name)函数,调用的时候,会给该函数传递一个参数,该参数就是当前所需要的类的类名!

此时,未引入Student.class.php这个类文件,用__autoload()函数自动调用需要加载的文件!

这样做的最大好处就是在一个脚本中只需要载入一个文件就行了,但是也有一个很大的弊端,就是会有很多多余的类也被载入了(当前脚本根本就用不上)!

一般的,系统默认的自动加载函数就是__autoload(),但是随着项目规模的扩大,有可能出现多个自动加载函数,比如加载的文件里面又有自动加载函数!此时就出现了函数重名的问题了!

第一步:定义一个可以加载类文件的普通函数

但是,此时系统不会自动的调用f1函数!

第二步:将该普通函数注册成自动加载函数

此时,需要使用一个系统函数来完成:

spl_autoload_register(‘function_name’)

有一个参数,就是函数的名字!

结果如下

PHP自动加载
希望我的博客,能帮上你解决学习中工作中所遇到的问题
09-28 632
PHP自动加载
php _autoload自动加载机制分析
10-28
在使用PHP的OO模式开发系统时,通常大家习惯上将每个的实现都存放在一个单独的文件里,这样会很容易实现对进行复用,同时将来维护时也很便利。这也是OO设计的基本思想之一
php autoload用法,php _autoload 作用及用法分析
weixin_30838971的博客
03-25 1400
今天在修改一个编辑器插件时总报不能加载错误,明明加载的地方用if 先判定了改是否存在。找了老半天后终于找到原来是_autoload 做的怪。在使用PHP的OO模式开发系统时,通常大家习惯上将每个的实现都存放在一个单独的文件里,这样会很容易实现对进行复用,同时将来维护时也很便利。这也是OO设计的基本思想之一。在PHP5之前,如果需要使用一个,只需要直接使用include/require将其...
PHP类库自动加载的七种方式(三)
withoutfear的博客
10-08 836
下面显示例子的文件目录结构图 一、没有使用命名空间的几种实现 test/oneClass.php class oneClass{ public function show(){ echo "这里是oneClass.php的show方法<br/>"; } } test/twoClass.php <?php class twoClass{ public function show(){ echo "这里是two
PHP自动加载和方法,3种php自动加载的方式实例详解
weixin_39993301的博客
03-22 751
最近在学习composer,发现从接触PHP到现在已经遇到了三种关于PHP自动加载方式,这其中包括PHP自带的自动加载方式、PHP的第三方的依赖管理工具composer的加载方式以及PHP的Yaf框架下的自动加载方式。本篇博客主要是针对PHP5自带的加载方式进行详细介绍,composer和Yaf下自动加载将在接下来的时间里分两篇和大家一起学习。1.手动加载方式像C和C++等语言,在P...
php autoload用法,php自动加载__autoload()函数用法
weixin_42511217的博客
03-25 523
autoloadphp主版本中是自动加载文件的一个方法了我们可以定义许多的文件在目录然后通过autoload加载了,下面来看看autoload函数用法。在PHP5之后,我们可以通过 __autoload来解决这个问题。 而且在PHP5.1之后,还提供了 spl_autoload_register() 来提供更完善的加载机制。通过阅读了 Autoloading in PHP 这篇文章,我理解的 A...
PHP autoload与spl_autoload自动加载机制的深入理解
12-18
PHP autoload机制详解(1) autoload机制概述在使用PHP的OO模式开发系统时,通常大家习惯上将每个的实现都存放在一个单独的文件里,这样会很容易实现对进行复用,同时将来维护时也很便利。这 也是OO设计的基本思想...
php自动加载autoload机制示例分享
10-26
主要介绍了php自动加载autoload机制示例,文件结构如下,2种方式实现自动加载,需要的朋友可以参考下
说说PHPautoLoad自动加载机制
01-21
} // 这里会自动加载Http/File/Interface.php 文件 $a = new Http_File_Interface(); 这种方法的好处就是简单易使用。当然也有缺点,缺点就是将名和文件路径强制做了约定,当修改文件结构的时候,就
PHPautoload自动加载机制使用说明
10-28
PHP5后,引入了__autoload这个拦截器方法,可以自动对class文件进行包含引用,下面看具体的使用方法。
PHP MVC框架中自动加载机制实例分析
01-02
本文实例讲述了PHP MVC框架中自动加载机制。分享给大家供大家参考,具体如下: 原文 实现自动加载主要使用到了set_include_path和spl_autoload_register函数。 set_include_path用于提前设置好可能会加载的...
深入理解PHP自动载入机制
12-19
php自动加载: 在php5以前,我们要用某个的方法,那必须include或者require,之后才能使用,每次用一个,都需要写一条include,麻烦 php作者想简单点,最好能引用一个时,如果当前没有include进来,系统...
Yii2框架自动加载机制实例分析
12-18
在yii中,程序中需要使用到的无需事先加载文件,在使用的时候才自动定位文件位置并加载之,这么高效的运行方式得益于yii的自动加载机制。 Yii的自动加载实际上使用的是PHP自动加载,所以先来看看PHP...
php 加载_PHP自动加载机制实例详解
weixin_33331559的博客
03-08 220
本文实例讲述了PHP自动加载机制。分享给大家供大家参考,具体如下:在php中,我们一般使用 require, requre_once, include, include_once 这四个命令来加载其他php文件,这在一般小型的php文件中是没有任何问题的,相信每个初学者都会遇到这样的应用场景:使用一个 Db.php 来定义数据库连接,在其他文件中直接引用这个文件,达到代码复用的效果。再让我们考虑这...
php 自动加载类库,thinkphp 自动加载
weixin_32789783的博客
03-13 187
在3.2中,基本上无需手动加载类库文件,你可以很方便的完成自动加载。命名空间自动加载系统可以通过的命名空间自动定位到类库文件,例如:我们定义了一个Org\Util\Auth:namespaceOrg\Util;classAuth{}保存到ThinkPHP/Library/Org/Util/Auth.class.php。接下来,我们就可以直接实例化了。new\Org\Util\Auth(...
PHP 实现自动加载(含有命名空间) spl_autoload_register
weixin_46044420的博客
02-05 323
PHP 实现自动加载(含有命名空间) spl_autoload_register ps:开看了一些别的博主关于自动加载机制实现 此处来记录一下 文件结构树 //index.php <?php require './autoload.php'; new \vender\os\Linux(); ?> // Linux.php Window.php 似 <?php namespace vender\os; class Linux { function __constru
php 加载_php自动加载方式
weixin_35385921的博客
03-08 159
本篇文章介绍的内容是关于php自动加载方式,现在分享给大家,有需要的朋友可以参考一下这篇文章的内容php加载文件方式:1、include,include_once,requice,requice_one常规加载2、__autoload()3、spl_autoload_register()常规加载方式假设我们有一个文件A.php,里面定义了一个名字为A的:class A {public func...
php跨目录自动加载,php – 来自不同文件和目录的自动加载和函数
weixin_42266267的博客
03-18 224
我有这个自动加载代码:function __autoload($class_name){//class directories$directorys = array('./Controls/','./Config/','./Utility/');//for each directoryforeach($directorys as $directory){//see if the file exsi...
sql_autoload_register
最新发布
07-25
`sql_autoload_register` 是 PHP 中的一个函数,它用于注册一个自动加载函数,以便在使用自动加载对应的文件。 当使用一个尚未被定义的时,PHP 会尝试自动加载的定义。通过调用 `sql_autoload_register...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • 【微信小程序】使用ECharts图表插件 7143
  • 【Mysql】mysql命令大全 6592
  • 【CentOS】Linux CentOS7检查是否联网 5478
  • 【CentOS】 CentOS 7 镜像下载 4714
  • 【前端】Layui动态数据表格拖动排序 4577

分类专栏

  • PHP 112篇
  • 微信开发 38篇
  • 数据库 32篇
  • 数据库优化 7篇
  • 服务器 18篇
  • 前端技术 63篇
  • ThinkPHP6学习笔记 4篇
  • 工具使用 12篇
  • 其他编程语言 8篇
  • 第三方类库、接口使用 13篇
  • 单片机 3篇

最新评论

  • php+websocket 实现聊天室

    夏木子杉: 大佬,这个错误怎么解决? 这是报错位置:const socket = new WebSocket("ws://localhost:8092"); 这是报错原因:index.php?s=Httpapi&c=show&m=chat:81 WebSocket connection to 'ws://localhost:8092/' failed:

  • 【微信小程序】下拉框

    m0_59520305: https://developers.weixin.qq.com/miniprogram/dev/component/picker.html

  • php使用fullcalendar日历插件

    下页、再停留: fullcalendar插件https://download.csdn.net/download/qq_25285531/89100740 Layui网上可以搜到

  • php使用fullcalendar日历插件

    时间暂停出售: 日历插件,layui,和fullcalendar包在哪里下载呀

  • 【微信小程序】使用ECharts图表插件

    m0_62646074: 请问可以给个你统计图页面的源码吗?我试过没有显示不知道问题出在哪

大家在看

  • Java项目-基于springboot+vue的小区物业管理系统(源码+数据库+文档)​
  • 2024-05-29_二进制文件和文本文件作业
  • 基于springboot的毕业设计成绩管理系统源码数据库 436
  • Python While 循环语句
  • CCF-CSP认证 2023年3月02 垦田计划 24

最新文章

  • 【前端】CSS弹性布局 display-flex
  • 【前端】LayUI监听事件汇总
  • 【JQ】加载中动画效果,带gif图片
2024年16篇
2023年35篇
2022年10篇
2021年10篇
2020年43篇
2019年39篇
2018年50篇
2017年52篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

下页、再停留

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳SEO优化公司昭通网站改版公司平顶山模板制作哪家好广东设计网站报价德宏网站定制多少钱安阳关键词按天扣费金华关键词排名报价台州网站搭建推荐济宁关键词按天扣费多少钱拉萨网站优化排名民治seo排名多少钱平湖阿里店铺运营哪家好廊坊网站优化按天扣费多少钱吕梁网站制作价格长沙企业网站建设哪家好宜昌模板网站建设多少钱贵阳关键词按天计费推荐泉州关键词排名果洛网站关键词优化公司垦利百度网站优化排名推荐凉山网页制作榆林网站优化按天扣费公司随州网站排名优化多少钱安康网站优化公司开封网站seo优化报价罗湖优化哪家好河源关键词排名赣州百度网站优化价格北海企业网站制作价格安顺模板推广哪家好广东百度标王报价歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化