php - 如何修复错误 spl_autoload_register():Argument has been ignored
问题描述
我从我的索引页面收到此错误,该页面是我拥有的模型视图控制器(MVC)项目中唯一的视图页面,并且在我的索引页面中使用以下代码
<?php
define("ROOT", dirname(__DIR__) . DIRECTORY_SEPARATOR);
define("APP",ROOT . "app" . DIRECTORY_SEPARATOR);
define("VIEW", ROOT . "app". DIRECTORY_SEPARATOR . "view" . DIRECTORY_SEPARATOR);
define("MODEL",ROOT . "app" . DIRECTORY_SEPARATOR . "model" . DIRECTORY_SEPARATOR);
define("DATA", ROOT . "app" . DIRECTORY_SEPARATOR . "data" . DIRECTORY_SEPARATOR);
define("CORE" , ROOT . "app" . DIRECTORY_SEPARATOR . "core" . DIRECTORY_SEPARATOR);
define("CONTROLLER", ROOT . "app" .DIRECTORY_SEPARATOR . "controller" . DIRECTORY_SEPARATOR);
$modules = [ROOT,APP,CORE,CONTROLLER,DATA];
$path = set_include_path(get_include_path() . PATH_SEPARATOR .implode(PATH_SEPARATOR,$modules));
spl_autoload_register("spl_autoload", false);
解决方案
正如对 PHP 手册的评论所说:
由于 PHP 8.0 spl_autoload_register() 将始终在无效参数上抛出 TypeError,因此第二个参数
throw
将被忽略,如果设置为 False,则会发出通知。
因此,在 PHP 8 上,您不应再将false
其作为第二个参数传递。
推荐阅读
- javascript - 如何使用输入字段动态更改宽度和高度?
- javascript - 使用身份验证反应 js 重定向
- qt - 如何检测 qcombobox 中的复选框何时更改
- html - 你如何使换行符隐藏时标签是打开的,反之亦然?
- c++ - OpenGL:绑定统一缓冲区时出现异常
- excel - 使用 Excel VBA 从 Access 中提取图片(.jpg 或 .png)
- react-native - React Native Video Subtitles 不适用于 selectedTextTrack
- c++ - 如果所有源都是最新的,如何避免在 Makefile 中重新编译输出文件
- c - C语言和字符串
- python - TKinter:在中心移动网格