java - codeigniter 中的 PHP 和 Java 集成

标签 java php web-services codeigniter integration

我有一个基于 PHP 5 的网站,我需要将其与我创建的一系列 Java 类集成。基本上,我创建了一个 Web 服务来将 xml 发布到文件中,一旦进入该文件,我就会解析 xml 并希望调用 java 文件中的方法。

我不知道如何从 PHP 调用 java 函数。我研究过 PHP/Java 桥接器,但没有任何内容清楚地描述如何设置它。

任何帮助将不胜感激,

谢谢

最佳答案

您可以使用类似 Thrift 的内容, Google Protocol BuffersAvro生成接口(interface)并在两种语言之间传递消息。这类似于 Facebook 在 PHP 和其他代码之间进行通信的方式。

以 Google proto 缓冲区为例,您将创建一个定义某些结构的 .proto 文件。然后,您在该 .proto 文件上运行 proto 编译器,它将生成相应的 PHP 和 Java 类,这些类可以通过某种中间件桥在两种语言之间传递。

Avro 和 Thrift 都提供了创建可以相互通信的客户端和服务器的方法,我相信您只能靠自己使用原始缓冲区。

以下是有关在 PHP 中设置 Thrift 客户端的教程:http://chanian.com/2010/05/13/thrift-tutorial-a-php-client/

当然,最好的想法是使用在 ON JVM 上运行的 PHP 实现,然后您将可以直接访问所有 J​​ava 库。您将能够call Java objects like they are plain old PHP objects 。 JVM 托管的动态语言也变得非常快,尤其是使用 JDK 7。 Quercus (在 JVM 上运行的 PHP 实现)实际上已被证明更快 (4x faster!)比主流的PHP解释器。

此外,如果您在 JVM 上运行 PHP,那么您可以生成线程并排队后台工作...以及您将能够访问的所有其他新库...切换到 Quercus 是一个巨大的胜利。

关于java - codeigniter 中的 PHP 和 Java 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7364057/

相关文章:

java - 空指针异常?

Java - 在控制台重写多行

java - hibernate 更新 : Why hibernate delete object before insert them after

php - php xpath查询以基于重复子节点中的值获取父节点

java - 生成返回 png 文件的 Java Web 服务

WCF 自定义绑定(bind)配置

java - SonarQube pdf 报告创建

php - 使用 PHP 和 MySQL 保存复选框中的数据

wcf - 通过 SSL 保护 WCF Web 服务

php - Codeigniter - SQLServer 数据库连接错误