綜述
Java的易擴展性是它極其的令人興奮的特點之一
PHP雖然有強大的功能
但面臨一些底層功能的實現時
常捉襟見肘
下面我們就來談一談如何在PHP中使用Java的類庫
如何安裝JDK?
一路回車將JDK安裝好(假設安裝在C:\jdk目錄
而PHP安裝在C:\php
)
然後做好以下步驟
在 Win
x 下加入
PATH=%PATH%;C:\jdk\bin
到AUTOEXEC
BAT文件中
在 NT下加入
;C:\jdk\bin
到環境變量中
這一步是非常需重要的
這樣PHP才能正確的找到需調用的JAVA類
如何修改PHP
INI文件以支持Java?
[java]
extension=php_java
dll
java
home = C:\jdk
_
java
library = C:\jdk
_
\jre\bin\CLASSIC\jvm
dll
java
library
path=C:\php
\extensionsjava
class
path=
C:\php
\java\php_java
jar;C:\php
\java\
在PHP
INI中加入extension=php_java
dll
注意應該加在[java]段中
而不是和和其他的extension=*
dll加在一起
設定好java
class
path
讓它指向php_java
jar
如果使用新的JAVA類
也應該存入這個路徑
在這篇例子中
我們使用C:\php
\java\這個目錄
測試環境
創建如下PHP文件
<?php
$system = new Java(
java
lang
System
);
print
Java version=
$system
>getProperty(
java
version
)
n
;
print
Java vendor=
$system
>getProperty(
java
vendor
)
print
OS=
$system
>getProperty(
os
name
)
$system
>getProperty(
os
version
)
on
$system
>getProperty(
os
arch
)
\n
;
$formatter = new Java(
java
text
SimpleDateFormat
EEEE
MMMM dd
yyyy
at
h:mm:ss a zzzz
);
print $formatter
>format(new Java(
java
util
Date
))
n
;
?>
如果你正確安裝了
你將會看到類似以下的信息
Java version=
_
Java vendor=Sun Microsystems Inc
OS=Windows
on x
星期一
十一月
at
:
:
上午 Greenwich Mean Time
這樣
我們就已經成功的建立起了可以使用JAVA類的PHP運行環境
應用舉例
創建你自己的JAVA類
新建一個phptest
java文件
將它放置在你的java
class
path目錄(在上面的例子中
是
C:\php
\java\
)下
文件內容如下
public class phptest{
public String myvalue;
public String setValue(String v){
myvalue=v;
return myvalue;
}
public static void main(String args[]){
phptest p = new phptest();
if(args
length ==
) {
System
out
println(
Not Set!
);
}else{
for (int i=
; i < args.length; i++) {
String arg = args[i]; System.out.println(p.setValue(arg));
}
}
}
}
創建這個文件後,我們要編譯好這個文件,在DOS命令行使用javac phptest.java這個命令。tw.WiNgwIt.CoM
為了使用PHP測試這個JAVA類,我們創建一個phptest.php文件,內容如下:
<?php
$myobj = new Java("phptest");
echo $myobj->setValue("Hello,PHP and Java world!");
?>
如果你得到這樣的警告信息:java.lang.ClassNotFoundException error ,這就意味著你的phptest.class文件不在你的java.class.path目錄下。
注意的是JAVA是一種強制類型語言,而PHP不是,這樣我們在將它們融合時,容易導致錯誤,於是我們在向JAVA傳遞變量時,要正確指定好變量的類型。
From:http://tw.wingwit.com/Article/program/Java/Javascript/201311/25262.html