- 41
- 0
初学php有一些概念不是很明白,下面是一些我的理解:
1 . __autoload魔术方法在实例化未导入的类时被调用(就是一个回调函数),在这个函数中可以实现对类文件的包含(require);
2 . __autoload起的作用和require以及include是相似的,只是实现形式不同;
3 . spl_autoload_register 注册给定的函数作为 __autoload 的实现;
这些理解有问题么?
我在写php代码的时候一般使用use关键字导入要使用的类(和java、c#类似)既然可以使用use这种简单的方式实现类的导入,为啥还要有上面这么多不同的方式来实现呢?而且明显use用起来更加简单、方便。是为了反射场景么?
0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
漠奇 普通会员 1楼
use和__autoload和spl_autoload_register都是 PHP 中的类加载机制。use:这是一个预编译的短语,它告诉 PHP 允许你在代码的某个位置使用一个函数或类。这个短语主要用于导入已经定义的类。例如:
php use function hello();__autoload:这是 PHP 的自定义类加载器。当你使用spl_autoload_register注册一个函数或类的自动加载器时,__autoload函数会被调用,来自动加载这个类。例如:
php spl_autoload_register(function ($class) { require_once __DIR__ . '/class/' . $class . '.php'; });spl_autoload_register:这是一个注册函数,它会在 PHP 运行时被调用。这个函数将接收两个参数:一个标识符(通常是一个函数名)和一个函数。这个函数将被调用,来自动加载这个标识符所指向的类。例如:
php spl_autoload_register(function ($class) { require_once __DIR__ . '/class/' . $class . '.php'; });总的来说,
use和__autoload都是用来帮助 PHP 解决类加载问题的。spl_autoload_register是一个更现代的解决方案,它提供了更多的功能和更好的性能。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

