>php教程 >php手册 >比较两种php调用Java的方法

比较两种php调用Java的方法

WBOY
WBOY원래의
2016-06-06 19:57:24795검색

欢迎进入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的方法

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.