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 相关文章推荐
Php+SqlServer实现分页显示
Oct 09 PHP
php session应用实例 登录验证
Mar 16 PHP
基于PHP异步执行的常用方式详解
Jun 03 PHP
PHP可变函数的使用详解
Jun 14 PHP
Yii调试SQL的常用方法
Jul 09 PHP
PHP里8个鲜为人知的安全函数分析
Dec 09 PHP
PHP大神的十大优良习惯
Sep 14 PHP
PHP 以POST方式提交XML、获取XML,解析XML详解及实例
Oct 26 PHP
关于Laravel Route重定向的一个注意点
Jan 16 PHP
PHP在弹框中获取foreach中遍历的id值并传递给地址栏
Jun 13 PHP
Laravel 5.5基于内置的Auth模块实现前后台登陆详解
Dec 21 PHP
php语法检查的方法总结
Jan 21 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登陆页的密码处理方式分享
2013/10/14 PHP
php调用c接口无错版介绍
2014/03/11 PHP
PHP简单实现断点续传下载的方法
2015/09/25 PHP
php 调用ffmpeg获取视频信息的简单实现
2017/04/03 PHP
自己的js工具 Cookie 封装
2009/08/21 Javascript
javascript 图片上一张下一张链接效果代码
2010/03/12 Javascript
Google AJAX 搜索 API实现代码
2010/11/17 Javascript
JSON.stringify 语法实例讲解
2012/03/14 Javascript
node.js中的buffer.write方法使用说明
2014/12/10 Javascript
javascript删除元素节点removeChild()用法实例
2015/05/26 Javascript
JavaScript中instanceof运算符的使用示例
2016/06/08 Javascript
jQuery购物网页经典制作案例
2016/08/19 Javascript
JavaScript基础——使用Canvas绘图
2016/11/02 Javascript
layui表格实现代码
2017/05/20 Javascript
Angular排序实例详解
2017/06/28 Javascript
通过button将form表单的数据提交到action层的实例
2017/09/08 Javascript
js 只比较时间大小的实例
2017/10/26 Javascript
浅谈React 服务器端渲染的使用
2018/05/08 Javascript
基于Vue实现关键词实时搜索高亮显示关键词
2018/07/21 Javascript
React中使用UEditor百度富文本的方法
2018/08/22 Javascript
JavaScript中工厂函数与构造函数示例详解
2019/05/06 Javascript
vue组件间通信六种方式(总结篇)
2019/05/15 Javascript
Vue 图片压缩并上传至服务器功能
2020/01/15 Javascript
vue操作dom元素的3种方法示例
2020/09/20 Javascript
python数据结构之链表详解
2017/09/12 Python
python机器学习之决策树分类详解
2017/12/20 Python
Python 实现自动登录+点击+滑动验证功能
2020/06/10 Python
HTML5 File接口在web页面上使用文件下载
2017/02/27 HTML / CSS
美国知名艺术画网站:Art.com
2017/02/09 全球购物
Desigual英国官网:在线购买原创服装
2018/03/09 全球购物
倩碧英国官网:Clinique英国
2018/08/10 全球购物
澳大利亚波西米亚风情网上商店:Czarina
2019/03/18 全球购物
外贸主管求职简历的自我评价
2013/10/23 职场文书
加工操作管理制度
2014/01/19 职场文书
乡镇干部党的群众路线教育实践活动个人对照检查材料
2014/09/24 职场文书
铁头也玩根德 YachtBoy YB-230......
2022/04/05 无线电