可以开发一种新的PHP方言,代号为P ++,作为其动态前身的更严格变体,具有更高级的功能和更少的负担。
该提案由PHP联合创始人Zeev Suraski 提出在PHP社区中 ,它将具有P ++或最终被称为的任何名称,与PHP并存,但不受PHP的历史哲学约束。 P ++不会成为一个分支,但是它本质上将更加严格,并且可能更向后兼容。
现在可以删除短标签之类的被视为“包bag”的元素,而复杂的功能(尤其是针对严格类型的语言(例如,严格的运算符或类型变量)的功能)可以添加,而不会给PHP方言引入相同的复杂性。
与PHP本身一样,P ++将主要用于服务器端Web开发。 计划中的PHP 8版本已经有望将PHP扩展到Web开发之外,并具有即时引擎和与C / C ++库的互操作性。
PHP和P ++中的绝大多数代码都是相同的。 大多数代码将在源代码和运行时在PHP和P ++节点之间共享。 但是它们将具有不同的实现。 二进制将是相同的。
还不清楚如何将文件标记为P ++文件。 它可能在顶部有一个特殊的标题。 建设者还可以找到将整个命名空间标记为P ++的方法,因此框架不必将每个文件标记为P ++。
数据结构,Web服务器接口,关键子系统以及大多数其他所有内容都是完全相同的代码,而不管文件是以PHP还是P ++执行。 尽管如此,某些代码段的两个版本仍必须维护。 与PHP相比,P ++可能还要进行其他检查。 开发人员可以在同一应用程序中混合使用PHP和P ++。 这两种方言都可以在单个服务器上运行。
如果发生P ++,将意味着PHP会有不同的发展。 严格和与类型相关的功能可能会在P ++中使用。 向后兼容性的偏见将保留在PHP中。 P ++和PHP都将提供不相关的功能,例如引擎的性能改进或扩展的扩展。
Zuraski指出了P ++语言的潜在选择:
- 坚持使用动态PHP,更严格的语言的拥护者不会接受它。
- 向着更严格的PHP发展,这是动态语言支持者所不能接受的。
- 分叉代码库,对每个相关人员造成净损失。
- 设计一种解决方案以迎合两个受众,这是P ++提案所尝试的。
有关P ++提案的担忧包括:
- 将PHP代码转换为P ++并非易事。 这到底有多真实,将取决于最终在P ++中的结果。
- PHP工具将不支持P ++。 但是,对于供应商而言,支持P ++而不是支持精细的clarify()或数量不限的版本可能更简单。
- 破坏PHP兼容性。 但是,通过新的方言而不是破坏PHP本身这样做可能更可口。
P ++与基于PHP的Facebook Hack语言的不同之处在于:
- Hack由一家公司开发。
- Hack和随附的HHVM虚拟机没有PHP的大型分发工具。
From: https://www.infoworld.com/article/3431863/php-plus-p-proposal-would-create-a-stricter-dialect.html