iis服务器助手广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >如何使用PHP中的spl_autoload_register() 和 __autoload() 函数
  • 199
分享到

如何使用PHP中的spl_autoload_register() 和 __autoload() 函数

2023-06-25 11:06:31 199人浏览 八月长安
摘要

本篇内容介绍了“如何使用PHP中的spl_autoload_reGISter() 和 __autoload() 函数”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔

本篇内容介绍了“如何使用PHP中的spl_autoload_reGISter() 和 __autoload() 函数”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

如何使用PHP中的spl_autoload_register() 和 __autoload() 函数

在日常开发使用时,我们面向对象程序设计的基本思想是,通常情况下习惯为每个类都创建一个单独的php源文件,这样的话为后来的维护提供便利,同时也很容易对类进行复用。

在PHP中可以通过spl_autoload_register() __autoload() 函数来实现类的自动加载功能,这样可以节省我们的编程时间和精力。那接下来我们就分别来介绍一下这两个函数吧。

__autoload()函数

__autoload()函数准确来说它是魔术方法,我们在《五分钟带你了解PHP中的魔术方法(实例详解)》中详细的介绍了一些常用的魔术方法,其中讲到,它是自动调用的,也就是需要早特定条件下才会调用函数。

当我们 new 一个类时,如果当前源文件中找不到这个类,PHP 则会自动调用 __autoload() 函数,并将类名传递给 __autoload() 函数。这就是__autoload()函数调用的特定条件。它的语法格式如下:

function __autoload($class){    // 方法体}

其中我们需要注意的是:

  • $class 为要加载的类名。

  • __autoload() 函数在当前源文件中只能定义一次。

  • 想要使用 __autoload() 函数自动加载类文件,类文件的名称需要与类名相同,另外一个类文件中只能定义一个类。

接下来我们通过示例来看一下__autoload() 函数的使用,示例如下:

<?php    function __autoload($class){        $file = './'.$class.'.php';        include_once($file);    }    $obj = new Demo();?>

运行上面的代码,会自动加载同目录下的 Demo.php 文件,Demo.php 中的代码如下所示:

<?php    class Demo{    }?>

其中我们需要注意的是:__autoload() 函数自 PHP7.2.0 起已被弃用,可以使用 spl_autoload_register() 函数代替。

spl_autoload_register() 函数

spl_autoload_register()函数可以指定一个函数来替代__autoload()函数的功能,

spl_autoload_register([$autoload_function [, $throw = true [, $prepend = false ]]])

其中需要注意的是:

  • $autoload_function:要替代 __autoload() 函数的函数名称,也可以是一个匿名函数。如果没有提供任何参数,则自动注册 autoload 的默认实现函数 spl_autoload();

  • $throw:用来设置 $autoload_function 无法成功注册时,spl_autoload_register() 函数是否抛出异常;

  • $prepend:如果是 true,则 spl_autoload_register() 函数会添加 $autoload_function 函数到队列之首,否则添加到队列尾部。

接下来我们通过示例来看一下,示例如下:

<?php    spl_autoload_register('loadClass');    function loadClass($class){        $file = './'.$class.'.php';        include_once($file);    }    $obj = new Demo();?>

上述示例中使用 spl_autoload_register() 函数指定另一个函数来替代 __autoload() 函数。

“如何使用PHP中的spl_autoload_register() 和 __autoload() 函数”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: 如何使用PHP中的spl_autoload_register() 和 __autoload() 函数

本文链接: https://www.lsjlt.com/news/304048.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何使用PHP中的spl_autoload_register() 和 __autoload() 函数
    本篇内容介绍了“如何使用PHP中的spl_autoload_register() 和 __autoload() 函数”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔...
    99+
    2023-06-25
  • PHP中startsWith()和endsWith()函数如何使用
    PHP中startsWith()和endsWith()函数如何使用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。例如:$str = '|apples...
    99+
    2023-06-04
  • PHP中max()和min()函数如何使用
    PHP中max()和min()函数如何使用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。首先我们创建一个PHP示例文件demo.php如下图:图中的代码如下:<php$m...
    99+
    2023-06-20
  • 如何使用PHP中的函数
    引言 当你发现自己复制和粘贴代码块,以便在程序的不同部分重用时,你就准备好编写函数了。如果你需要与变量的内容进行交互——改变大小写、查找长度、修剪或排序——可能有一个内置函数可以做到这一点。函数是自包...
    99+
    2023-08-31
    php
  • PHP中如何使用数组函数
    PHP中如何使用数组函数,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。array_multisort()对多个数组或多维数组进行排序可以用来一次对多个数组进行排序或者根据某一维...
    99+
    2023-06-17
  • PHP中strtotime函数如何使用
    这篇文章给大家介绍PHP中strtotime函数如何使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。在PHP中有个叫做strtotime的函数。strtotime 实现功能:获取某个日期的时间戳,或获取某个时间的时间...
    99+
    2023-06-17
  • PHP中如何使用preg_grep()函数
    这篇文章将为大家详细讲解有关PHP中如何使用preg_grep()函数,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。函数原型:array preg_grep (string $pattern...
    99+
    2023-06-17
  • PHP中sizeof()函数如何使用
    这篇文章将为大家详细讲解有关PHP中sizeof()函数如何使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。PHP函数sizeof()语法:sizeof(arrayname);提示和说明注...
    99+
    2023-06-17
  • php中strstr函数如何使用
    本篇文章为大家展示了php中strstr函数如何使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。php中strstr函数的用法是,搜索字符串在另一字符串中是否存在,例如【strstr("...
    99+
    2023-06-20
  • PHP 中date() 函数如何使用
    这篇文章给大家介绍PHP 中date() 函数如何使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。PHP date() 函数PHP date() 函数用于格式化时间/日期。。。。。。。。。。PHP date() 函数...
    99+
    2023-06-04
  • PHP中如何使用mb_substr函数
    今天就跟大家聊聊有关PHP中如何使用mb_substr函数,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。确保你的Windows/system32下有php_mbstring.dll这...
    99+
    2023-06-17
  • PHP中ini_get()函数如何使用
    PHP中ini_get()函数如何使用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。PHP中的函数作用功能各不相同,灵活的使用这些函数,才能将这门语言发挥出极大...
    99+
    2023-06-17
  • PHP 中substr函数如何使用
    PHP 中substr函数如何使用,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。PHP substr函数的语法:string substr(string stri...
    99+
    2023-06-17
  • PHP中eregi()函数如何使用
    PHP中eregi()函数如何使用,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。下面举例说明这PHP函数eregi()和ereg()函数的区别:在abcdef中查找是否含有...
    99+
    2023-06-17
  • PHP 中mysqli_get_host_info 函数如何使用
    本篇文章为大家展示了PHP 中mysqli_get_host_info 函数如何使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。定义和用法mysqli_get_host_info - 返...
    99+
    2023-06-04
  • php中 parse_url 函数如何使用
    php中 parse_url 函数如何使用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。parse_url : 解析URL并返回其组成部分描述...
    99+
    2024-04-02
  • PHP中extract()函数如何使用
    这篇文章将为大家详细讲解有关PHP中extract()函数如何使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。form.html< form action=&qu...
    99+
    2023-06-17
  • PHP中如何使用eval()函数
    PHP中如何使用eval()函数,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。语法: void eval(string code_str);传回值: 无函式种类...
    99+
    2023-06-17
  • PHP中preg_match_all()函数如何使用
    本篇文章给大家分享的是有关PHP中preg_match_all()函数如何使用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。将文本中的链接地址转成HTML< p...
    99+
    2023-06-17
  • PHP中如何使用round()函数
    本篇文章为大家展示了PHP中如何使用round()函数,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。创建一个PHP示例文件demo.php;完整代码如下:<phpecho round...
    99+
    2023-06-20
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作