综述Java的易扩展性是它极其的令人兴奋的特点之一PHP虽然有强大的功能但面临一些底层功能的实现时常捉襟见肘下面我们就来谈一谈如何在PHP中使用Java的类库
如何安装JDK?
一路回车将JDK安装好(假设安装在C:\jdk目录而PHP安装在C:\php)然后做好以下步骤
在 Winx 下加入 PATH=%PATH%;C:\jdk\bin 到AUTOEXECBAT文件中在 NT下加入 ;C:\jdk\bin到环境变量中这一步是非常需重要的这样PHP才能正确的找到需调用的JAVA类
如何修改PHPINI文件以支持Java?
[java]
extension=php_javadll
javahome = C:\jdk_
javalibrary = C:\jdk_\jre\bin\CLASSIC\jvmdll
javalibrarypath=C:\php\extensionsjavaclasspath=C:\php\java\php_javajar;C:\php\java\
在PHPINI中加入extension=php_javadll注意应该加在[java]段中而不是和和其他的extension=*dll加在一起设定好javaclasspath让它指向php_javajar如果使用新的JAVA类也应该存入这个路径在这篇例子中我们使用C:\php\java\这个目录
测试环境
创建如下PHP文件
<?php
$system = new Java(javalangSystem);
print Java version=$system>getProperty(javaversion)
n;
print Java vendor=$system>getProperty(javavendor) print OS=$system>getProperty(osname) $system>getProperty(osversion) on $system>getProperty(osarch)\n;
$formatter = new Java(javatextSimpleDateFormatEEEE MMMM dd yyyy at h:mm:ss a zzzz);
print $formatter>format(new Java(javautilDate))n;
?>
如果你正确安装了你将会看到类似以下的信息
Java version=_
Java vendor=Sun Microsystems Inc
OS=Windows on x
星期一 十一月 at :: 上午 Greenwich Mean Time
这样我们就已经成功的建立起了可以使用JAVA类的PHP运行环境
应用举例
创建你自己的JAVA类 新建一个phptestjava文件将它放置在你的javaclasspath目录(在上面的例子中是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(argslength == ) {
Systemoutprintln(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传递变量时,要正确指定好变量的类型。