PHP autoload使用方法及步骤详解


Posted in PHP onSeptember 05, 2020

我们知道在PHP4里面,当我们使用一个类的时候,必须将该类所以文件使用include或require加进来,这样我们就可以使用类了。
而对于PHP5来说也可以使用在PHP4里面的方式,将类文件包进来,但当有了__autoload之后,这种情况就可以靠编写规则也实现。

以下代码:

<?php
 $obj_A = new clsA();
 $obj_B = new clsB();
 ?>
 PHP4下正确写法为:
 <?php
 //PHP4 写法,之前必须加载类文件
 include_once "cls/clsA.php";
 include_once "cls/clsB.php";
 $obj_A = new clsA();
 $obj_B = new clsB();
 ?>

处理加载步骤为:

1,加载类文件。

2,实例化类。

PHP5下使用__autoload()(自动加载)的正确写法为:

<?php
 // PHP5 Used __autoload function
 $obj_A = new clsA();
 $obj_B = new clsB();
 function __autoload($className){
 include_once "cls/$className.php";
 }
 ?>

处理加载步骤为(使用autoload函数):

1,创建对象(伪实例)

2,调用__autoload函数,将伪实例的类名传入

3,使用__autoload函数中,预先写好的加载规则进行加载类文件

4,实例化对象(真实实例)

因此,我们可以看出,对于PHP5的autoload函数,必须给定规则,否则一点用没有。

对于PHP5的__autoload函数的使用时需要注意或完成如下事情。

1,__autoload函数是用在类外面,而不是在类里面的函数。(__autoload也是被PHP5保护的关键字之一)

2,完成对__autoload函数加载规则的编码。

如上,当知道A是在cls目录中,而B是在cls/cls目录中。则编写__autoload加载规则就是必要的。

<?php
 // PHP5 Used __autoload function
 $obj_A = new clsA(); // in "cls" directory!
 $obj_B = new clsB(); // in "cls/cls" directory!
 function __autoload($className){
 if(strtolowwer($className) == "clsb"){
 require_once "cls/cls/$className.php";
 }else{
 include_once "cls/$className.php";
 }
 }
 ?>

总结:因此,对于PHP5的autoload来说,当加载2个以上的文件或考虑到以后的扩展时或代码规范来说可以使用,对于一般的情况,我个人认为没有必 要,但是如果同时使用多个类,加载不同的类文件,对于autoload来说就有必要,只要写入相应的加载规则即可。(我个人认为,该函数的提出,主要是规 范编码)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
DISCUZ 分页代码
Jan 02 PHP
PHP 页面跳转到另一个页面的多种方法方法总结
Jul 07 PHP
PHP中对用户身份认证实现两种方法
Jun 04 PHP
php输出xml格式字符串(用的这个)
Jul 12 PHP
php调用方法mssql_fetch_row、mssql_fetch_array、mssql_fetch_assoc和mssql_fetch_objcect读取数据的区别
Aug 08 PHP
对淘宝URL中ID提取的PHP代码
Sep 01 PHP
php统计文章排行示例
Mar 04 PHP
php设置允许大文件上传示例代码
Mar 10 PHP
php读取csc文件并输出
May 21 PHP
详解PHP数组赋值方法
Nov 07 PHP
详解Window7 下开发php扩展
Dec 31 PHP
浅谈PHP的数据库接口和技术
Dec 09 PHP
PHP数组访问常用方法解析
Sep 05 #PHP
XAMPP升级PHP版本实现步骤解析
Sep 04 #PHP
php使用Swoole实现毫秒级定时任务的方法
Sep 04 #PHP
Laravel Reponse响应客户端示例详解
Sep 03 #PHP
PHP 实现base64编码文件上传出现问题详解
Sep 01 #PHP
PHP copy函数使用案例代码解析
Sep 01 #PHP
PHP超全局变量实现原理及代码解析
Sep 01 #PHP
You might like
php程序员应具有的7种能力小结
2014/11/27 PHP
Laravel 5框架学习之Eloquent (laravel 的ORM)
2015/04/08 PHP
PHP框架Laravel中实现supervisor执行异步进程的方法
2017/06/07 PHP
如何优雅的使用 laravel 的 validator验证方法
2018/11/11 PHP
javascript iframe编程相关代码
2009/12/28 Javascript
JQery jstree 大数据量问题解决方法
2010/03/09 Javascript
『jQuery』取指定url格式及分割函数应用
2013/04/22 Javascript
js获取和设置属性的方法
2014/02/20 Javascript
smartcrop.js智能图片裁剪库
2015/10/14 Javascript
jquery正则表达式验证(手机号、身份证号、中文名称)
2015/12/31 Javascript
分享javascript、jquery实用代码段
2016/10/20 Javascript
纯原生js实现table表格的增删
2017/01/05 Javascript
javascript 使用正则test( )第一次是 true,第二次是false
2017/02/22 Javascript
vue项目中使用AES实现密码加密解密(ECB和CBC两种模式)
2019/08/12 Javascript
使用Webpack 搭建 Vue3 开发环境过程详解
2020/07/28 Javascript
JavaScript实现拖拽和缩放效果
2020/08/24 Javascript
Electron+vue从零开始打造一个本地播放器的方法示例
2020/10/27 Javascript
Python实现程序的单一实例用法分析
2015/06/03 Python
Python Flask-web表单使用详解
2017/11/18 Python
python3+PyQt5+Qt Designer实现堆叠窗口部件
2018/04/20 Python
Python matplotlib 画图窗口显示到gui或者控制台的实例
2018/05/24 Python
python for循环输入一个矩阵的实例
2018/11/14 Python
Python+OpenCV图片局部区域像素值处理详解
2019/01/23 Python
详解Python遍历列表时删除元素的正确做法
2021/01/07 Python
main 函数执行以前,还会执行什么代码
2013/04/17 面试题
大学生活学习的自我评价
2013/12/03 职场文书
廉政教育心得体会
2014/01/01 职场文书
升国旗仪式主持词
2014/03/19 职场文书
销售主管竞聘书
2014/03/31 职场文书
歌颂祖国演讲稿
2014/05/04 职场文书
环保倡议书范文
2014/05/12 职场文书
预备党员群众路线教育实践活动思想汇报2014
2014/10/25 职场文书
刑事和解协议书范本
2014/11/19 职场文书
2014小学教师年度考核工作总结
2014/12/03 职场文书
2016庆祝国庆67周年宣传语
2015/11/25 职场文书
2019年最新感恩节祝福语(28句)
2019/11/27 职场文书