返回顶部
首页 > 资讯 > 后端开发 > 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://lsjlt.com/news/304048.html(转载时请注明来源链接)

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

猜你喜欢
  • 如何使用PHP中的spl_autoload_register() 和 __autoload() 函数
    本篇内容介绍了“如何使用PHP中的spl_autoload_register() 和 __autoload() 函数”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔...
    99+
    2023-06-25
  • PHP中max()和min()函数如何使用
    PHP中max()和min()函数如何使用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。首先我们创建一个PHP示例文件demo.php如下图:图中的代码如下:<php$m...
    99+
    2023-06-20
  • PHP中startsWith()和endsWith()函数如何使用
    PHP中startsWith()和endsWith()函数如何使用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。例如:$str = '|apples...
    99+
    2023-06-04
  • 如何使用PHP中的函数
    引言 当你发现自己复制和粘贴代码块,以便在程序的不同部分重用时,你就准备好编写函数了。如果你需要与变量的内容进行交互——改变大小写、查找长度、修剪或排序——可能有一个内置函数可以做到这一点。函数是自包...
    99+
    2023-08-31
    php
  • PHP中如何使用数组函数
    PHP中如何使用数组函数,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。array_multisort()对多个数组或多维数组进行排序可以用来一次对多个数组进行排序或者根据某一维...
    99+
    2023-06-17
  • PHP中 mysqli_embedded_server_start函数如何使用
    今天就跟大家聊聊有关PHP中 mysqli_embedded_server_start函数如何使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。定义...
    99+
    2024-04-02
  • php中 parse_url 函数如何使用
    php中 parse_url 函数如何使用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。parse_url : 解析URL并返回其组成部分描述...
    99+
    2024-04-02
  • php中如何使用rand()函数
    这篇文章主要介绍了php中如何使用rand()函数,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。@session_start(); &nbs...
    99+
    2024-04-02
  • PHP中如何使用easter_days()函数
    这篇文章将为大家详细讲解有关PHP中如何使用easter_days()函数,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。PHP开发环境搭建工具有哪些一、phpStudy,是一个新手入门最常用的开发环境。二...
    99+
    2023-06-14
  • php中sprintf函数如何使用
    这篇文章主要介绍了php中sprintf函数如何使用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。sprintf函数此函数使用方法和printf一样,唯一不同的就是该函数把格...
    99+
    2023-06-17
  • PHP中strtotime函数如何使用
    这篇文章给大家介绍PHP中strtotime函数如何使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。在PHP中有个叫做strtotime的函数。strtotime 实现功能:获取某个日期的时间戳,或获取某个时间的时间...
    99+
    2023-06-17
  • PHP中如何使用mb_substr函数
    今天就跟大家聊聊有关PHP中如何使用mb_substr函数,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。确保你的Windows/system32下有php_mbstring.dll这...
    99+
    2023-06-17
  • PHP中ob_star()函数如何使用
    PHP中ob_star()函数如何使用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。在PHP编程中, 我们经常会遇到一些直接产生输出的函数, 如passthru(),readf...
    99+
    2023-06-17
  • PHP中ini_set函数如何使用
    本篇文章为大家展示了PHP中ini_set函数如何使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。PHP ini_set函数是设置选项中的值,在执行函数后生效,脚本结束的时候,这个设置也失效。不是...
    99+
    2023-06-17
  • PHP中ini_get()函数如何使用
    PHP中ini_get()函数如何使用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。PHP中的函数作用功能各不相同,灵活的使用这些函数,才能将这门语言发挥出极大...
    99+
    2023-06-17
  • PHP中require()函数如何使用
    PHP中require()函数如何使用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。调用文件config.inc的程序代码:< php  &...
    99+
    2023-06-17
  • PHP中preg_match_all()函数如何使用
    本篇文章给大家分享的是有关PHP中preg_match_all()函数如何使用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。将文本中的链接地址转成HTML< p...
    99+
    2023-06-17
  • PHP中如何使用preg_grep()函数
    这篇文章将为大家详细讲解有关PHP中如何使用preg_grep()函数,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。函数原型:array preg_grep (string $pattern...
    99+
    2023-06-17
  • PHP 中ereg()函数如何使用
    今天就跟大家聊聊有关PHP 中ereg()函数如何使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。不过,eregi()是PHP ereg()函数的忽略大小写的版本。二者与preg_...
    99+
    2023-06-17
  • PHP中如何使用addslashes()函数
    今天就跟大家聊聊有关PHP中如何使用addslashes()函数,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。定义和用法addslashes() 函数在指定的预定义字符前添加反斜杠。...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作