当前位置:首页 > 日记 > 正文

对PHP类自动加载机制的深入理解

对PHP类自动加载机制的深入理解
PHP的自动加载:

在PHP5中,我们需要使用一个类或类的方法,必须用在包括或要求。每次使用一个类时,我们需要编写一个包含。

PHP作者想要简单。最好是引用一个类,当系统可以自动找到类,如果没有包括进来了。

所以__autoload()函数应运而生。

它通常是放在应用程序的入口类,如Discuz,在class_core.php。

首先,举一个简单的例子:

第一种情况:该文件A.php内容如下
< PHP

一个{类

公共功能__construct(){

echo'fff;

}

}

>
该文件c.php内容如下:
< PHP
功能__autoload(合班)
{
$;
如果(is_file(文件)){
require_once(文件);
}
}
美元=新(一); / /这将自动调用__autoload到A.php文件

>
第二例:有时我希望能够自定义加载,想有一个凉爽的名字加载,然后C.php改为如下:
< PHP
函数加载器($类)
{
$;
如果(is_file(文件)){
require_once(文件);
}
}

spl_autoload_register('loader '); / /注册自动加载方法,覆盖原__autoload

美元=新的A();

>
第三种情况:我想稍微高一点,用一个类来管理自动加载。
< PHP
类装载器
{
公共静态函数loadClass(合班)
{
$;
如果(is_file(文件)){
require_once(文件);
}
}
}

spl_autoload_register(阵列('loader ','loadclass '));

美元=新的A();

>
现在是最好的形式。

我们通常把spl_autoload_register(*)在入口脚本,这是引用的开始。例如,下面的Discuz的方法。
如果(function_exist('spl_autoload_register ')){

spl_autoload_register(阵列(核心,'autoload ')); / /如果有超过PHP5,注册功能注册自动加载函数编写自己的核心类加载

其他{ }

功能__autoload(合班){ / /如果不是,重写PHP原生__autoload功能,使自己的核心函数调用。

回归核心::加载(合班);

}

}
这一部分位于入口文件的前面,自然是极好的。

本文深入理解PHP类的自动加载机制是萧边分享你的全部内容。我希望能给你一个参考,希望你能支持它。

相关文章

mysql免费安装1067版错误终极解决

mysql免费安装1067版错误终极解决

解决方案,安装,错误,图文教程,电脑软件,{从笔记本到PC } 笔记本一直使用MySQL的5.6.17免费版,这是安装如下: 今天,同样的zip包到PC机,按照上面的方法安装1067,按照上面的方法很多次或者没有。 百度,谷歌查半天,最终折腾成一个好办法,应该能彻底解…

ps图像删除方法

ps图像删除方法

图像,方法,删除,电脑软件,ps,如果您对图片中的文本不满意,我们可以修改或直接删除文本。许多新的学习伙伴可能还不知道。这里是Xiaobian计算机网络学习的内容,这带来了如何删除文本从我希望你可以做出一些成绩。 ps图像删除方法 操作方法与复…

PS图象处理软件风格的手绘古典中国

PS图象处理软件风格的手绘古典中国

国风,手绘,图象,处理软件,古典,今天是我们将古典写意摄影引入该领域的一种方法,该框架是一种常见的装饰摄影扇架,它对绘画作品产生了双重的仿古效果,使用PS制作简单的框架模板并不难,在这一部分中,对PS的关键作了介绍,介绍了各种制作方法和步骤。…

在VBA代码中写一个键插入一个excel

在VBA代码中写一个键插入一个excel

斜杠,代码,电脑软件,VBA,excel,有时,我们需要向Excel中添加斜线标题,但Excel不提供斜线头的功能。事实上,我们可以用VBA代码写一个插入到excel斜杠头中的函数。 使用控件工具箱的命令按钮;;;;控制在工作表上画一个命令按钮,caption属性钥匙插入斜…

如何excel2010使用条件格式excel20

如何excel2010使用条件格式excel20

教程,条件,格式,电脑软件,在excel2010条件的作用是一个非常有用的和常用的功能,但是很多朋友不知道如何使用它。让我们看一看小编辑。 使用条件格式excel2010步骤 1,选择需要使用条件格式的列或行。 2、在开始选项卡,单击;;条件格式;;mdash;数据…

HTML5+CSS3绘制一个矩形锯齿

HTML5+CSS3绘制一个矩形锯齿

绘制,锯齿,矩形,电脑软件,最近,通过敲HTML5 + CSS3分享你认为值得学习与你分享。 如何绘制一个曲折矩形:一个数字 我们知道绘图可以使用画布,画布是HTML5中出现的一种新标签,用于在网页上绘制图形,H5的画布使用Javascript在网页上绘制图形。 锯齿状矩…

WPS表如何隐藏单元格WPS表教程

WPS表如何隐藏单元格WPS表教程

教程,单元格,电脑软件,WPS,如果我们需要在WPS表单中隐藏一些单元格,那么如何隐藏它呢让我们告诉你如何在WPS表中隐藏单元格。 在WPS表中隐藏单元格的方法: 请看下面的表格,第一步:如果我们想隐藏的2此内容,我们需要选择表,然后单击格式工具栏的…

PS图象处理软件照片合成:人物海报

PS图象处理软件照片合成:人物海报

照片,图象,处理软件,海报,人物,本教程是关于PS图象处理软件照片合成的使用:角色海报,通过教程,用户可以对PS图像处理的综合使用功能有了一定的了解,不仅可以加强PS技术,也提高了他们的创意和平面设计的理解。 你好,本课程将为你带来一个对火影忍…

如何使用PPT动画笔刷复制PPT动画效

如何使用PPT动画笔刷复制PPT动画效

动画效果,教程,动画,如何使用,笔刷,大家都知道,你可以用动画笔刷在PPT中复制动画效果。那么,你知道怎么使用动画笔刷吗让我们告诉你如何使用PPT动画复制动画效果。 利用PPT动画画笔复制动画效果的方法: 打开一个很好的ppt,比如: 选择幻灯片,例…

AI只是简单地绘制建筑图标的平面样

AI只是简单地绘制建筑图标的平面样

平面,绘制,标的,样式,简单,今天为大家分享AI简单渲染平面风格的建筑图标方法,感兴趣的朋友可以参考一下这篇文章,希望大家喜欢! 步 1、在AI软件中,新建一个800×800的文件,按Shift键选择圆角矩形工具,画两个圆图,如图所示。 2、然后选择直线工具…

MySQLbinlog远程备份方法详解

MySQLbinlog远程备份方法详解

备份,方法,详解,电脑软件,MySQLbinlog,当binlog以前的备份,这是所有本地备份和压缩,然后发送到远程服务器。但仍有一些风险,因为日志备份是周期性的,如果在一个周期内,服务器关闭,硬盘损坏,它可能会导致这段时间binlog迷失。 此外,使用脚本来备份…

ZendStudio使用两种技术

ZendStudio使用两种技术

两种,技术,电脑软件,ZendStudio,本文介绍了两Zend Studio的使用技巧,分享给您参考,如下: 1。新文档的模板设置: 窗口> >选项> > >编辑器>模板>新的简单PHP文件 这可以修改每个新文件的启动代码。 2。自动提示代码很慢: 窗口> >选项> >编辑…