我们有一个 Web 应用程序(相当重量级的应用程序),它执行一整套的操作、Web UI、数学处理和建模以及与数据库相关的操作。
在 PHP 中发生的许多过程都非常缓慢,主要是因为 PHP 的数学处理很糟糕。
在未来,我们希望打破这些缓慢的过程,并用更快的东西重写它们,可能是 C++,也可能是 Java。
有谁知道将数据传入和传出 PHP 并传入另一种语言环境的通用方法?我已经考虑过将事物序列化为 JSON 并将它们铲入/dev/shm 或套接字,然后让其他语言在套接字上监听,或查看共享内存位置等。
这种东西对于原生类型来说工作得很好,但是当你考虑到很多被传递的东西实际上是类实例和类似的对象时,它确实很糟糕。
我不确定是否有一个明智的解决方案,但我一直在考虑 Quercus PHP纯 Java 实现,以及 PHP/Java bridge.
但是,我一直无法找到任何可以执行类似功能的 C++。编写 PHP 模块是可能的,但我正在努力了解它如何足够通用,而不仅仅是将每个新(和一些旧)脚本重写到模块中,然后在 PHP 中调用这些函数。
最佳答案
Protocol Buffer
这是什么?
Protocol Buffer 是一种以高效且可扩展的格式对结构化数据进行编码的方法。 Google 几乎所有的内部 RPC 协议(protocol)和文件格式都使用 Protocol Buffers。
它支持对您在 .proto
语言中定义的对象进行快速高效的序列化,并原生支持 C++/Java 和带有第 3 方插件的 PHP。
关于java - C++ 和 PHP 之间的通用桥梁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6018346/