如何添加一个新的操作码到PHP?



搜索它,我发现了这篇博客文章:https://www.npopov.com/2017/04/14/PHP-7-Virtual-machine.html

它是否涵盖了"一切"?需要添加一个新的操作码,或者我需要在引擎中触摸的所有地方?还是直接开始在代码库中搜索更好?也许有一个提交可以用作原型或示例?

编辑,最后添加的操作码是:https://github.com/php/php-src/pull/7019/files#diff-773bdb31563a0f907c75068675f6056b25f003e61f46928a31d9837ae107460d

PHP源代码是用c编程语言编写的。这就是你在"最后一个操作码添加"的链接中看到的。那不是操作码,是源代码。PHP解释器(Zend虚拟机)的输出读取PHP文件的内容并将其转换为操作码。操作码不是由程序员直接编写的。

如果你想为PHP编写一个自定义扩展,你需要用c语言编写它,并对其进行结构化,以便它可以作为外部mod加载。

有一个混合系统,允许您编写类似PHP的代码,这些代码可以编译成独立的PHP扩展。看看Zephir语言。Stack overflow有很多带有"zephir"标签的问题。我读到过,但没有使用过。

最新更新