首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在PHP升级到PHP8之前确定类型调整问题

在PHP升级到PHP8之前确定类型调整问题
EN

Stack Overflow用户
提问于 2021-07-20 15:21:45
回答 1查看 118关注 0票数 2

目前,我正坐在PHP5.6上,很快就会更新到PHP8。我使用PHPCS检查了兼容性问题,并在升级到PHP8之前修复了这些问题。

但是,我在测试过程中发现了一些与代码中的类型调整相关的问题,例如:

代码语言:javascript
复制
$x = "";
$x['test'] = "xyz";
print_r($x); //Warning: Only the first byte will be assigned to the string offset in /tmp/8dw2cmkrbq0pcq/tester.php on line 4 Fatal error: Uncaught TypeError: Cannot access offset of type string on string in /tmp/8dw2cmkrbq0pcq/tester.php:4 Stack trace: #0 {main} thrown in /tmp/8dw2cmkrbq0pcq/tester.php on line 4

这段代码在PHP5.6中运行良好。

不幸的是,PHPCS没有检测到这个问题,现在我想知道产品中是否有更多类似的问题。

现在,我想知道是否有方法可以在我升级到PHP8之前检测到这些问题?如果我能在升级到PHP8之前得到一些关于如何找到这样的问题的提示,那将是非常有帮助的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-23 13:28:55

我能够使用https://github.com/phan/phan检测到这种类型的问题。下面是捕获到的示例问题。

代码语言:javascript
复制
{
"type": "issue",
"type_id": 10030,
"check_name": "PhanTypeMismatchDimAssignment",
"description": "TypeError PhanTypeMismatchDimAssignment When appending to a value of type '', found an array access index of type 'hobbies', but expected the index to be of type int",
"severity": 5,
"location": {
    "path": "PQR/models/XYZModel.php",
    "lines": {
        "begin": 171,
        "end": 171
    }
}}

感谢你们的支持。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68451014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档