欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

比较两种php调用Java的方法

程序员文章站 2022-05-19 19:01:22
...

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 Java说话功能壮大,是以在良多情形下在php中来挪用Java的功能将十分有用。在php中挪用Java说话有两种体例,一种是使用php中的Java扩展模块,另一种是使用minij2ee应用处事器供给的SJOP和谈实现。下面

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入

Java说话功能壮大,是以在良多情形下在php中来挪用Java的功能将十分有用。在php中挪用Java说话有两种体例,一种是使用php中的Java扩展模块,另一种是使用minij2ee应用处事器供给的SJOP和谈实现。下面我们来斗劲一下这两种体例各自的特点。

1.php的Java模块

php发布版中包含一个Java扩展模块,可以用来挪用Java对象,例如:

$system=new Java("java.lang.System");

print "Java version=".$system->getProperty("java.version")。"
\n";

?>

使用这种体例的利益是斗劲便利,只要用new Java()来建树一个Java对象,就可以同php类一样来挪用Java对象。可是这种体例也有以下较着的错误谬误:

1.因为php的Java模块按照php的数据类型选择最适合的Java体例,是以无法挪用Java过载的函数。

2.php的Java模块将在当前Web Server的历程中载入JVM(Java虚拟机),是以系统开销极大,影响Web Server历程的执行效率。

3.在某些操作系统和Web Server情形中,php的Java模块将使Web Server历程僵死。

因为这些原因,php的Java模块一向无法应用到现实的的软件系统中。

2.minij2ee应用处事器SJOP和谈实现

在介绍minij2ee应用处事器SJOP和谈实现之前,先简单介绍一下minij2ee应用处事器。minij2ee应用处事器是第一款撑持php的J2EE应用处事器产物,使php能够用于开发企业级应用系统。SJOP全称是Sample Java ORB Protocol(简单Java对象请求代办代庖和谈),是一种简单高效的对象请求代办代庖和谈。好比:

$conn=minij2ee_fetch_connection();

print "Java version=".minij2ee_callstatic_javaobj($conn,"java.lang.System","getProperty","java.lang.String","java.version")。"
\n";

?>

minij2ee应用处事器实现SJOP和谈的首要目的是使php中能够访谒EJB企业级组件,是以minij2ee供给了一个EJB-PHP编译器,可以把EJB组件编译成php的类,使php轨范中能够便利的挪用EJB组件,例如:

require("Cart.php"); file://Cart.php是编译Cart EJB后生成的Cart EJB的php类界说。

$home=new CartHome(); file://建树EJB的Home接口。

$objref=$home->create($cart_name); file://建树Cart EJB.

$cart=new Cart($objref);

$cart->add("some goods"); file://向购物车中添加一个物品。

?>

使用minij2ee应用处事器的php撑持,就可以开发出基于php和J2EE手艺的,面向对象的,不变高效的企业级应用系统。

比较两种php调用Java的方法