快速业务通道

在WebSphere sMash中集成Java和PHP - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16
做法是转换为尽可能减少潜在损失的类型(例如,将 int 转换为 byte)。另请注意,转换同样适用于受限和不受限 Java 类型,例如 Integer 和 int.

表 1. 从 Java 到 PHP 的类型转换

Java 类型 PHP 类型 注释
null null
Integer/int int
Double/double double
Boolean/boolean bool
Byte/byte int
Character/char int
Short/short int
Long/long int
Float/float double
byte[] string
String string 此 PHP 字符串使用运行时编码进行编码。
Map array 各个元素的类型按照此表进行转换,包括嵌套映射。
Object[] array 请参见数组转换。
Anything Else! n/a 这使用 Java Bridge 包装,成为通用 PHP 对象。

在WebSphere sMash中集成Java和PHP(6)

时间:2011-07-06 IBM Anthony Phillips,Zoe

Java Bridge 局限性

Java Bridge 旨在作为让 PHP 脚本使用 Java 类的简单方法使用。考虑这一点,有几个其中未包含的更为高级的功能。其中最重要的是可靠地调用重载方法。

Java Bridge 完全 根据提供的参数数量选择方法或构造函数。如果存在多个可能性,则 Java Bridge 将选择第一个方法或构造函数并试用。这极为简单,使用错误的参数类型调用构造函数或方法时,会引发异常。

使用签名选择重载

选择合适的重载的问题已经在最新的 Project Zero 构建版本(在 WebSphere sMash 1.0 中不 可用)中通过添加新的 JavaSignature 类得到了解决。JavaSignature 允许脚本通过定义参数类型查找以下内容来明确指定调用哪个构造函数或方法:

  <?php $signature = new JavaSignature(JAVA_STRING); $string = new Java("java.lang.String",       $signature, "Hello World!"); var_dump($string->toLowerCase()); var_dump($string->split(" ")); var_dump($string->toUpperCase()); ?>

JavaSignature 的参数来自以下 PHP 常量:

● JAVA_BOOLEAN

● JAVA_BYTE

● JAVA_CHAR

● JAVA_SHORT

● JAVA_INT

● JAVA_LONG

● JAVA_FLOAT

● JAVA_DOUBLE

● JAVA_STRING

● JAVA_OBJECT

在WebSphere sMash中集成Java和PHP(7)

时间:2011-07-06 IBM Anthony Phillips,Zoe

在前面的示例中,示例选择了 java.lang.String 上的构造函数,此构造函数接受单个 Java String 作为其参数 (JAVA_STRING)。多个参数使用逗号分隔,例如,newJavaSignature(JAVA_STRING, JAVA_INT)。可以使用 JAVA_ARRAY 修饰符指定 Java 类型的数组。例如,以下代码将选择字符串数组: newJavaSignature(JAVA_STRING | JAVA_ARRAY)。

以下代码片段显示了一个 JavaSignature,它选择 java.lang.

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号