首页 后端开发 php教程 笔记019 通过 spl_autoload_register 实现自动加载

笔记019 通过 spl_autoload_register 实现自动加载

Dec 26, 2016 am 10:13 AM
自动加载

spl_autoload_register

(PHP 5 >= 5.1.2, PHP 7)

spl_autoload_register — 注册给定的函数作为 __autoload 的实现

语法

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

说明

通过这个函数,可以为加载的类指定寻址方式,这样就不用大批量地 require 和 include 了。系统会自动按照指定的规则,到对应的位置下面去寻找需要实例化的类。虽然这个方法比较底层,在有框架的情况下,一般都不需要我们去做这些工作了。但是难免还是有要用的时候,比如我写这个博客的时候,我就自己需要捣腾脚本,这个时候,就绕不开了。下面的例子,就是我的脚本中要用的一个简单的自动加载的程序。

例子

spl_autoload_register(function ($class) {
    $rootPath = realpath(sprintf('%s/..', __DIR__));
    $paths = array(        'src',
    );    foreach ($paths as $path) {        if (is_file(
            $file = $rootPath . DIRECTORY_SEPARATOR . $path . DIRECTORY_SEPARATOR . $class
            . '.php'
        )) {            include $file;            break;
        }
    }
});
登录后复制

注意,匿名函数是 PHP 5.3 及以上 才可以用的,如果发现不能用,检查一下自己的 PHP 版本。我这里只是简单地指定所有的类在我的 src 文件夹下寻找,类名与文件名完全一致。

 以上就是笔记019 通过 spl_autoload_register 实现自动加载的内容,更多相关内容请关注PHP中文网(www.php.cn)!


本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门文章

仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章

仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章标签

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

PHP中的自动加载机制 PHP中的自动加载机制 Jun 18, 2023 pm 01:11 PM

PHP中的自动加载机制

PHP 自动加载大师班:成为一名代码加载专家 PHP 自动加载大师班:成为一名代码加载专家 Mar 02, 2024 pm 09:43 PM

PHP 自动加载大师班:成为一名代码加载专家

JavaScript 如何实现滚动到页面底部自动加载的内容淡入效果? JavaScript 如何实现滚动到页面底部自动加载的内容淡入效果? Oct 16, 2023 am 09:09 AM

JavaScript 如何实现滚动到页面底部自动加载的内容淡入效果?

JavaScript 如何实现滚动到页面底部自动加载的内容渐变显示效果? JavaScript 如何实现滚动到页面底部自动加载的内容渐变显示效果? Oct 16, 2023 am 08:54 AM

JavaScript 如何实现滚动到页面底部自动加载的内容渐变显示效果?

如何使用PHP7的命名空间和自动加载机制提高代码的可读性和可维护性? 如何使用PHP7的命名空间和自动加载机制提高代码的可读性和可维护性? Oct 24, 2023 am 09:00 AM

如何使用PHP7的命名空间和自动加载机制提高代码的可读性和可维护性?

如何在PHP中使用Composer进行自动加载 如何在PHP中使用Composer进行自动加载 Jun 23, 2023 am 10:27 AM

如何在PHP中使用Composer进行自动加载

如何利用PHP7的命名空间和自动加载机制组织代码的结构? 如何利用PHP7的命名空间和自动加载机制组织代码的结构? Oct 20, 2023 am 08:57 AM

如何利用PHP7的命名空间和自动加载机制组织代码的结构?

如何创建 PHP 函数库并使其支持自动加载? 如何创建 PHP 函数库并使其支持自动加载? Apr 27, 2024 am 10:51 AM

如何创建 PHP 函数库并使其支持自动加载?

See all articles