PHP 如何调用 JAVA 类库

陌染_秋璃

陌染_秋璃

2016-02-19 16:48

每个人都希望每天都是开心的,不要因为一些琐事扰乱了心情还,闲暇的时间怎么打发,关注图老师可以让你学习更多的好东西,下面为大家推荐PHP 如何调用 JAVA 类库,赶紧看过来吧!

  JAVA 是个非常强大的编程利器,它的扩展库也是非常的有用,这篇教程,主要讲述怎样使用 PHP 调用功能强大的 JAVA 类库 (classes)。为了方便你的学习,这篇教程将包括 JAVA 的安装及一些基本的例子。

  Windows下的安装

  第一步:安装 JDK,这是非常容易的,你只需一路回车的安装好。然后做好以下步骤。

  在 Win9x 下加入 :PATH=%PATH%;C:jdk1.2.2bin 到 AUTOEXEC.BAT 文件中。

  在 NT 下加入 ;C:jdk1.2.2bin到环境变量中。

  这一步是非常重要的,这样 PHP 才能正确的找到需调用的 JAVA 类。

  第二步:修改你的 PHP.INI 文件。

  

[java]extension=php_java.dlljava.library.path=c:webphp4extensionsjava.class.path="c:webphp4extensionsjdk1.2.2php_java.jar;c:myclasses"java.home = "d:jdk1.2.2jre"java.library = "d:jdk1.2.2jrebinserverjvm.dll"

  注:PHP5 没有稳定的 Java 扩展,所以按照上面配置,将导致 Apache 崩溃--深空。

  在 PHP.INI 中加入 extension=php_java.dll,并在 [java] 中,设定好java.class.path,让它指向 php_java.jar,如果你使用新的 JAVA 类,你也应该存入这个路径,在这篇例子中,我们使用 c:myclasses 这个目录。

  第三步:测试环境,创建如下PHP文件:

  

?php$system = new Java("java.lang.System");print "Java version=".$system-getProperty("java.version")." brn";print "Java vendor=".$system-getProperty("java.vendor")." pnn";print "OS=".$system-getProperty("os.name")." ".$system-getProperty("os.version")." on ".$system-getProperty("os.arch")." brn";$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=1.2.2Java vendor=Sun Microsystems Inc.OS=Windows 95 4.10 on x86Wednesday, October 18, 2000 at 10:22:45 AM China Standard Time

  这样,我们就已经成功的建立起了可以使用 JAVA 类的 PHP 运行环境,我们可以开始我们接下去的课程了。

  例子1:创建和使用你自己的 JAVA 类

  创建你自己的 JAVA 类非常容易。新建一个 phptest.java 文件,将它放置在你的 java.class.path 目录下,文件内容如下:

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)

  

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(str.equals("")) {      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(args.length == 0) {      String arg = "";      System.out.println(p.test(arg));    }else{      for (int i = 0; i  args.length; i++) {        String arg = args[i];        System.out.println(p.test(arg));      }    }  }}

  创建这个文件后,我们要编译好这个文件,在 DOS 命令行使用 javac phptest.java 这个命令。

  为了使用 PHP 测试这个 JAVA 类,我们创建一个 phptest.php 文件,内容如下:

  

?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 . "/bbrn";echo "My java method reports: b" . $myj-whatisfoo() . "/bbrn";?

  如果你得到这样的警告信息:java.lang.ClassNotFoundException error ,这就意味着你的 phptest.class 文件不在你的 java.class.path 目录下。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)

  注意的是 JAVA 是一种强制类型语言,而 PHP 不是,这样我们在将它们融合时,容易导致错误,于是我们在向JAVA传递变量时,要正确指定好变量的类型。如:$myj-foo = (string) 12345678; or $myj-foo = "12345678";

  这只是一个很小的例子,你可以创建你自己的 JAVA 类,并使用 PHP 很好的调用它!

展开更多 50%)
分享

猜你喜欢

PHP 如何调用 JAVA 类库

Web开发
PHP 如何调用 JAVA 类库

两种php调用Java对象的方法

Web开发
两种php调用Java对象的方法

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

PHP中通过ADO调用Access数据库

PHP
PHP中通过ADO调用Access数据库

PHP中 ADOdb 类库介绍(二)

PHP
PHP中 ADOdb 类库介绍(二)

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

PHP中 ADOdb 类库介绍(一)

PHP
PHP中 ADOdb 类库介绍(一)

用PHP调用数据库的存贮过程!

PHP
用PHP调用数据库的存贮过程!

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

将应用程序从Sql Server迁移到Oracle

将应用程序从Sql Server迁移到Oracle

建立自由的会计日期的报表

建立自由的会计日期的报表
下拉加载更多内容 ↓