日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

PHP中调用Java类的两个办法

發布時間:2025/3/20 php 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PHP中调用Java类的两个办法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Java語言功能強大,因此在許多情況下在php中來調用Java的功能將十分有用。在php中調用Java語言有兩種方法,一種是使用php中的Java擴展模塊,另一種是使用minij2ee應用服務器提供的SJOP協議實現。下面我們來比較一下這兩種方法各自的特點。

1.php的Java模塊

php發布版中包含一個Java擴展模塊,可以用來調用Java對象,例如:

以下為引用的內容:

<?php$system=new Java("java.lang.System");
print "Java version=".$system->getProperty("java.version")." <br> ";?>
使用這種方法的優點是比較方便,只要用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對象請求代理協議),是一種簡單高效的對象請求代理協議。比如:

以下為引用的內容:

<?php
$conn=minij2ee_fetch_connection()
;print "Java version=".minij2ee_callstatic_javaobj
($conn,"java.lang.System","getProperty",
"java.lang.String","java.version")." <br> ";
?>
minij2ee應用服務器實現SJOP協議的主要目的是使php中能夠訪問EJB企業級組件,因此minij2ee提供了一個EJB-PHP編譯器,可以把EJB組件編譯成php的類,使php程序中能夠方便的調用EJB組件,例如:

以下為引用的內容:

<?php
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技術的,面向對象的,穩定高效的企業級應用系統。

轉載于:https://blog.51cto.com/hzzfb/1003045

總結

以上是生活随笔為你收集整理的PHP中调用Java类的两个办法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。