• PHP:类的自动加载


    PHP:类的自动加载


    在编写面向对象(OOP) 程序时,很多开发者为每个类新建一个 PHP 文件。 这会带来一个烦恼:每个脚本的开头,都需要包含(include)一个长长的列表(每个类都有个文件)。

    spl_autoload_register() 函数可以注册任意数量的自动加载器,当使用尚未被定义的类(class)和接口(interface)时自动去加载。通过注册自动加载器,脚本引擎在 PHP 出错失败前有了最后一个机会加载所需的类。

    像 class 一样的结构都可以以相同方式自动加载。包括类、接口、trait 和枚举。

    警告
    PHP 8.0.0 之前,可以使用 __autoload() 自动加载类和接口。然而,它是 spl_autoload_register() 的一种不太灵活的替代方法,并且 __autoload() 在 PHP 7.2.0 起弃用,在 PHP 8.0.0 起移除。

    注意:

    spl_autoload_register() 可以多次调用以便注册多个自动加载器。但从自动加载函数中抛出异常会中断该过程并且禁止继续执行。因此强烈建议不要从自动加载函数中抛出异常。

    示例 #1 自动加载示例

    本例尝试分别从 MyClass1.php 和 MyClass2.php 文件中加载 MyClass1 和 MyClass2 类。

    
    spl_autoload_register
  • 相关阅读:
    ElasticSearch自学笔记
    sql:1对多获取最新一条数据
    Bean 作用域和生命周期
    一个app的流程分析
    攻防世界---mfw
    pytorch中nn.Parameter()使用方法
    Redis持久化策略
    mysql数据库
    【框架源码篇 03】Spring源码手写篇-手写AOP
    前端TypeScript学习day01-TS介绍与TS常用类型
  • 原文地址:https://blog.csdn.net/it_xiangqiang/article/details/127096182