连接PHP和 Java -- PHP/Java Bridge [2]

2008-02-23 09:19:02来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

(三)为什么要使用 PHP/Java Bridge?

PHP中的组件都是短暂,非持久化的。如果是复杂应用体系,我们需要提供中间层组件(java beans/EJB)或者企业级的提供缓存,连接池或商业逻辑给PHP组件生成的页面。例如解析XML文件就是一个比较耗资源的工作,需要缓存;连接数据库也是个比较耗资源的工作,所以需要能够重用。标准的PHP XMLDB抽象层都是比较没效率的,因为它们都不能通过一个中间层来实现缓存和连接池。

即使是一些小任务,也可能需要用到Java ClassJava类库,例如需要跨平台地生成Word,ExcelPDF文档。

PHP,PHP/Java Bridgephp代码可以打包成标准的J2EE档案包格式,用户可以方便地布置到一个J2EE应用服务器或Servlet引擎中去。用户不需要安装PHP,而且从他们的角度来说,他们看不到这些用JSP,servletPHP生成的页面有什么区别。由于Bridge允许PHPJ2EE间的session共享,开发者可以一步步地把基于JSP的程序和PHP集成起来。

上面是说为什么PHP需要Java。而对于Java程序员来说,PHPPHP/Java Bridge也可能是有用的。 现在有许多基于JSP模板系统的技术如jakarta Struts及更新一代技术Java Server FacesJSP和自定义标签库有很多缺陷,把它们整合在一起去建立一个面向对象的Web Framework暴露了这些问题。即使JSF的作者也承认了这样的系统是有严重缺陷的,并推荐像tapestryfacelets 这样用Java类定义组件并通过他们的ID来绑定到XML/HTML模板中。PHP/Java Bridge version 3.0可以嵌入PHP代码到JSF Framework中,这样用户界面设计师集中精力在设计HTML模板,而程序员可以用PHP建立原型,并使用已有的开发框架。现在不少大型站点就在前端使用PHP,而核心使用Java来构建系统。

PHP/Java Bridge添加了下面这些原始类型和函数到PHP中,以使PHP可以方便地访问Java对象。在表格1中可以看到数据类型的分布情况。

new Java("CLASSNAME"): References and instanciates the class CLASSNAME. After script execution the referenced classes may be garbage collected.

  • new JavaClass("CLASSNAME"): References the class CLASSNAME without creating an instance. The object returned is the class object itself, not an object of the class. After script execution the referenced classes may be garbage collected. Example:

java_require("JAR1;JAR2"): Makes additional libraries available to the current script. JAR can either be a "http:", "ftp:", "file:" or a "jar:" location. On "Security Enhanced Linux" (please see the README) the location must be tagged with a

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:cloudscape网络配置,roller服务器安装,以及一些我喜欢犯的小错误

下一篇:连接PHP和 Java -- PHP/Java Bridge [3]