找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 729|回复: 0

可转译的 PHP 函数

[复制链接]

1

主题

0

回帖

5

积分

新手上路

积分
5
发表于 2023-10-26 14:43:52 | 显示全部楼层 |阅读模式
这些是目前可以转译的 PHP 7.1 及更高版本的功能。 如果您的代码仅使用这些功能,您就可以确保转译的应用程序能够正常运行。 否则,您将必须评估转译的代码是否会导致崩溃。PHP 转译器目前,有一个可以转译PHP代码的工具:Rector。Rector是一个PHP重构工具,它根据可编程规则转换PHP代码。


我们输入源代码和要执行的规则集,Rector 将转换代码。Rector通过命令行管理,通过Composer安装在项目中。 运行时,Rector 将显示转换 韩国电话号码表 前后代码的“差异”(绿色添加,红色删除):整流器“差异”输出整流器“差异”输出应该转译哪些版本的 PHP要跨 PHP 版本转换代码,必须创建相应的规则。

如今,Rector 库包含 PHP 8.0 到 7.1 范围内的大部分代码转译规则。 因此,我们可以可靠地将 PHP 代码转译到版本 7.1。

还有从 PHP 7.1 到 7.0 以及从 7.0 到 5.6 的转译规则,但它们并不详尽。 完成这些工作正在进行中,因此我们最终将能够将 PHP 代码转译至版本 5.6。

转译对比 向后移植
反向移植与转译类似,但更简单。 代码向后移植不一定依赖于语言的新功能。 相反,通过简单地从新版本的语言复制/粘贴/改编相应的代码,可以向旧版本的语言提供相同的功能。

例如,str_contains函数是在PHP 8.0中引入的。 PHP 7.4及以下版本可以轻松实现相同的功能。
由于反向移植比转译更简单,因此只要反向移植能够完成这项工作,我们就应该采用这种解决方案。




对于 PHP 8.0 和 7.1 之间的范围,我们可以使用以下的 polyfill 库
转译的 PHP 示例
让我们检查一些已转译的 PHP 代码的示例,以及一些正在完全转译的包。

PHP代码
匹配表达式是在 PHP 8.0 中引入的。 这个源代码。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|DiscuzX

GMT+8, 2024-11-23 00:11 , Processed in 0.093531 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表