JAVA是个非常强大的编程利器它的扩展库也是非常的有用这篇教程主要讲述怎样使用PHP调用功能强大的JAVA 类库(classes)为了方便你的学习这篇教程将包括JAVA的安装及一些基本的例子
Windows下的安装
第一步安装JDK这是非常容易的你只需一路回车的安装好然后做好以下步骤
在 Winx 下加入 PATH=%PATH%;C:\jdk\bin 到AUTOEXECBAT文件中
在 NT 下加入 ;C:\jdk\bin到环境变量中
这一步是非常重要的这样PHP才能正确的找到需调用的JAVA类
第二步修改你的PHPINI文件
[java]
extension=php_javadll
javalibrarypath=c:\web\php\extensions\
javaclasspath=c:\web\php\extensions\jdk\php_javajar;c:\myclasses
在PHPINI中加入extension=php_javadll并在[java]中设定好javaclasspath让它指向php_javajar如果你使用新的JAVA类你也应该存入这个路径在这篇例子中我们使用c:\myclasses这个目录
第三步测试环境创建如下PHP文件
<?php
$system = new Java(javalangSystem);
print Java version=$system>getProperty(javaversion) <br>\n;
print Java vendor=$system>getProperty(javavendor) <p>\n\n;
print OS=$system>getProperty(osname)
$system>getProperty(osversion) on
$system>getProperty(osarch) <br>\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
Wednesday October at :: AM China Standard Time
这样我们就已经成功的建立起了可以使用JAVA类的PHP运行环境我们可以开始我们接下去的课程了
例子创建和使用你自己的JAVA类
创建你自己的JAVA类非常容易新建一个phptestjava文件将它放置在你的javaclasspath目录下文件内容如下
public class phptest{
/**
* A sample of a class that can work with PHP
* NB: The whole class must be public to work
* and of course the methods you wish to call
* directly
*
* Also note that from PHP the main method
* will not be called
*/
public String foo;
/**
* Takes a string and returns the result
* or a msg saying your string was empty
*/
public String test(String str) {
if(strequals()) {
str = Your string was empty ;
}
return str;
}
/**
* whatisfoo() simply returns the value of the variable foo
*/
public String whatisfoo() {
return foo is + foo;
}
/**
* This is called if phptest is run from the command line with
* something like
* java phptest
* or
* java phptest hello there
*/
public static void main(String args[]) {
phptest p = new phptest();
if(argslength == ) {
String arg = ;
Systemoutprintln(ptest(arg));
}else{
for (int i=; i < argslength; i++) {
String arg = args[i];
Systemoutprintln(ptest(arg));
}
}
}
}
创建这个文件后我们要编译好这个文件在DOS命令行使用javac phptestjava这个命令
为了使用PHP测试这个JAVA类我们创建一个phptestphp文件内容如下
<?php
$myj = new Java(phptest);
echo Test Results are <b> $myj>test(Hello World) </b>;
$myj>foo = A String Value;
echo You have set foo to <b> $myj>foo </b><br>n;
echo My java method reports: <b> $myj>whatisfoo() </b><br>n;
?>
如果你得到这样的警告信息javalangClassNotFoundException error 这就意味着你的phptestclass文件不在你的javaclasspath目录下
注意的是JAVA是一种强制类型语言而PHP不是这样我们在将它们融合时容易导致错误于是我们在向JAVA传递变量时要正确指定好变量的类型如$myj>foo = (string) ; or $myj>foo = ;
这只是一个很小的例子你可以创建你自己的JAVA类并使用PHP很好的调用它!