laravel 11接口返回Deprecated怎么处理

今天玩了下laravel 11,但是发现装了 overtrue/flysystem-qiniu.

接口就会多返回一些东西:

<br/><b>Deprecated</b>:  Qiniu\Config::__construct(): Implicitly marking parameter $z as nullable is deprecated, the explicit nullable type must be used instead in <b>/www/wwwroot/tasklist.localhost/vendor/qiniu/php-sdk/src/Qiniu/Config.php</b> on line <b>44</b><br/>{
    "success": true,
    "message": "\u9a8c\u8bc1\u7801\u53d1\u9001\u6210\u529f",
    "debug_code": "123456"
}

这怎么处理

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 5

这个错误是 PHP 8.1 + 环境下的兼容性问题,具体是七牛云 PHP SDK 的构造函数参数没有显式声明可为空(nullable),导致 PHP 发出弃用警告。虽然 API 返回了成功响应,但这个警告需要修复以确保代码在未来版本的 PHP 中正常运行。

问题原因

在 PHP 8.1 及更高版本中,如果你有一个构造函数参数默认值为null,必须显式声明该参数为?type(即可为空类型),否则会触发弃用警告。例如:
错误写法(PHP 8.1 + 会警告):

public function __construct($param = null) {} // 未显式声明类型

正确写法:

public function __construct(?string $param = null) {} // 显式声明可为空

更新七牛云 SDK 到最新版本

1天前 评论
wongvio (楼主) 4小时前
Rache1 4小时前
wongvio (楼主) 4小时前
Epona

看看升级七牛包试试

4小时前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!