1016. 💡 方案一:修正返回类型声明(推荐)
这是最直接的修复方法。mixed是 PHP 8.0 引入的新类型,表示可以接受任何类型的值(包括字符串、整数、对象等)
。将返回类型改为 mixed就能解决类型冲突。
修改前(错误示例):
php
复制
class page {
// 这可能被错误地声明为必须返回一个对象实例
public function offsetGet($offset): object {
// ... 实际返回了字符串 ...
return "some string"; // 这会导致错误
}
}
修改后(正确示例):
php
复制
class page {
// 将返回类型改为 mixed,表示可返回任何类型
public function offsetGet($offset): mixed {
// ... 可以返回字符串、数组、对象等任何值 ...
return "some string"; // 现在不会报错了
}
}
🔄 方案二:使用兼容性属性
如果您的代码需要同时在 PHP 7.x 和 8.x 上运行,PHP 8.1 可能会对与内置接口(如 ArrayAccess)不兼容的类型声明发出弃用通知。此时,可以使用 #[\ReturnTypeWillChange]属性来抑制通知,并暂时移除返回类型声明
。
修改示例:
php
复制
class page {
#[\ReturnTypeWillChange] // 告诉 PHP 引擎稍后会处理类型兼容性问题
public function offsetGet($offset) { // 移除了返回类型声明
// ... 方法实现 ...
return "some string";
}
}
请注意:#[\ReturnTypeWillChange]是一个属性,只能用于方法(method),而不能用于属性(property)
这是最直接的修复方法。mixed是 PHP 8.0 引入的新类型,表示可以接受任何类型的值(包括字符串、整数、对象等)
。将返回类型改为 mixed就能解决类型冲突。
修改前(错误示例):
php
复制
class page {
// 这可能被错误地声明为必须返回一个对象实例
public function offsetGet($offset): object {
// ... 实际返回了字符串 ...
return "some string"; // 这会导致错误
}
}
修改后(正确示例):
php
复制
class page {
// 将返回类型改为 mixed,表示可返回任何类型
public function offsetGet($offset): mixed {
// ... 可以返回字符串、数组、对象等任何值 ...
return "some string"; // 现在不会报错了
}
}
🔄 方案二:使用兼容性属性
如果您的代码需要同时在 PHP 7.x 和 8.x 上运行,PHP 8.1 可能会对与内置接口(如 ArrayAccess)不兼容的类型声明发出弃用通知。此时,可以使用 #[\ReturnTypeWillChange]属性来抑制通知,并暂时移除返回类型声明
。
修改示例:
php
复制
class page {
#[\ReturnTypeWillChange] // 告诉 PHP 引擎稍后会处理类型兼容性问题
public function offsetGet($offset) { // 移除了返回类型声明
// ... 方法实现 ...
return "some string";
}
}
请注意:#[\ReturnTypeWillChange]是一个属性,只能用于方法(method),而不能用于属性(property)
1012. 显示的内容是
Fatal error: Uncaught TypeError: Return value of page::offsetGet() must be an instance of mixed, string returned in /www/wwwroot/mnbt.922320155/class/page.php:502 Stack trace: #0 /www/wwwroot/mnbt.922320155/index.php(29): page->offsetGet() #1 {main} thrown in /www/wwwroot/mnbt.922320155/class/page.php on line 502
1005. 虎绿林还是在用华为云ECS服务器驱动吗?
主要因为我的云服务器还有118天就过期了,我不打算续费了,准备清空云服务器,
后续肯定是还要买云服务器的,只是还没想好(买啥样式的,买哪家的)。有打算切换买华为服务器,先来看来看看虎绿林,(目前/后面打算)在用的什么服务器?
主要因为我的云服务器还有118天就过期了,我不打算续费了,准备清空云服务器,
后续肯定是还要买云服务器的,只是还没想好(买啥样式的,买哪家的)。有打算切换买华为服务器,先来看来看看虎绿林,(目前/后面打算)在用的什么服务器?
1001.

@tasy5kg,想在 Win 上试试 av1an,跟着文档配好环境,结果啥反应都没有。。
想用 WSL1 编译 Linux 版试试,结果 Debian Testing 似乎没适配好,更新包就出错。。
想用 WSL2,但之前关了 VBS,导致这货也用不了。。碍于补丁,又不敢打开重启。。
想在 Mac 上试试,官方文档 没给方法。之前按照另一博客尝试过,但它对 lsmash
编译过程也语焉不详。。(却在 Linux 上却给了详细过程)
要是 av1an 能内置 L-SMASH、XPSNR、SSIMULACRA2、Butteraugli,不一定依赖 Vapoursynth,就好了。。
毕竟不是每个人都要用 Vapoursynth 做预处理(去噪、去色带、裁剪、缩放等),
能开箱即用,做到场景分割、每场景更接近目标质量,应该能满足不少需求了。。
这也更体现了项目官网说的「用 Rust 实现的跨平台应用」目标。。(现在想跨 Win / Mac 都难)


1000.
今天看到 AOM 宣布,年底推出 AV2 标准了:AOMedia Announces Year-End Launch of Next Generation Video Codec AV2 on 10th Anniversary
一半 AOM 成员,会在标准发布一年内采用 AV2,九成会在两年内采用。
如果两三年后,芯片采用 2 纳米制程 + 支持 AV2 & VVC 硬件解码,感觉是换机的好时间。。