金沙上线 8.0不兼容预测

哪个是php 8.0的预期不兼容?

金沙上线 8.0在拐角处,主要应用程序在2020年12月初开始他们的举措兼容兼容代码。这是如此 WordPress., 小旅行者, 或者 金沙上线-CS-FIXER. exakat. 都准备好了,用于在金沙上线 8.0上运行,并审核金沙上线 8代码。

我们其他人的代码怎么样?哪个是跳跃版本到达时间的最常见问题?我们接受了我们在未来偷看,帮助金沙上线社区准备好了。

要确定即将到来的问题,我们使用了 13迁移到金沙上线 8.0 exakat已经支持的规则,并在1700多个开源应用程序中运行它。每项项目,小或大,都是一次,每当规则检测到代码中至少一个问题。

这为我们提供了以下结果:

一些言论

  • 远离资源和对象的移动(例如,Curl_Init()将返回一个对象,而不是资源不再返回’t return anything. It seems like no code would check the results of curl_init() (and co) with \is_resource(). The common practice is to use a simple if (!$curl). Yet, such a low result is surprising, we need to investigate more.
  • 金沙上线 4构造函数仍然在很多消息来源:一个项目超过七个。大多数情况下,它们是PDF,TAR或ZIP库,自金沙上线 4已被移植。一些严肃的重构将发生在那里。
  • 在不同继承的类中的方法之间更改参数名称是(可悲的)非常常见的做法。这将是一个名为参数的问题,因为多个名称将由金沙上线逐个解决。虽然,在使用命名参数之前不会发生。在此之前,建议同步所有这些名称。
  • 与各种运算符一起使用的无支持类型相当广泛。使用金沙上线 8.0,静音向NULL的旧方式升级到可见的TypeError异常:日志将填充。鉴于这些事件的动态性质,可以尽快使用金沙上线 8.0运行代码是合理的。

使用Migration 金沙上线 8.0报告检查您的代码

exakat.provides a special report : 迁移金沙上线 8.0。它提供了13分析以准备您的代码到金沙上线 8.0。

要获取报告,您需要 exakat.,然后是以下命令:

php exakat.phar init -p myproject -R <project_URL>
php exakat.phar project -p myproject
php exakat.phar report -p myproject --format Migration80 

At that point, the report is now in the projects/myproject/migration80/ folder. You may open the index.html in that folder to open it in your browsers.

您也可以使用文本版本:

php exakat.phar report -p myproject --format Text -T Compatibility金沙上线80

这一个将直接在标准输出中报告相同的信息。

我们始终聆听应追踪和报告的后退不兼容。放纸 @Exakat. 在Twitter上,或 群组.

快乐审计

移动到金沙上线 8.0将是一个简单的迁移,后向不兼容影响大多数稀有代码。有一种财富 可用新功能,在速度改进和安全之上。