基于Java的PHP框架 - Quercus简介
简介 Quercus 是一个开源 PHP 5 引擎,它已经拥有了纯 Java 的完整实现。Quercus 文档指出,Quercus 在 Resin 应用服务器之上运行,利用了负载平衡、代理缓存等 Resin 特性。本文介绍了在 Apache Tomcat 之上运行 Quercus 所提供的特性。另外,本文还将展示 Quercus 针对 Web 服务和应用程序的 “PHP + Java” 混合方法的易用性和灵活性。 为何选择 Quercus? Quercus PHP 库在 Java 中得到了完整的实现,这对 Java 和 PHP 应用程序都有好处。由于 Java 和 PHP 之间的紧密集成,Quercus 应用程序能够使用 Java 技术以及 Spring、Hibernate 和 SOA 等框架。为促进这种互操作性,Quercus 提供了一个 API,以便从 PHP 调用 Java 库。 其他好处还包括: 易于开发:PHP 库在 Java 中实现,这使它们更快速、更稳定、更易于使用。开发人员不必担心基于C语言的PHP 实现中出现的分段(segmentation)错误和 C 指针溢出。 可伸缩性:作为一个基于 Java 的实现,Quercus 在 Resin 和 Apache Tomcat 等应用服务器之上运行。这样,它就可以利用应用服务器提供的所有特性,如连接池、分布式会话等。 国际化:由于 Quercus 是一个 PHP 的 Java 实现,它本身就支持 16 位 Unicode 字符串和函数。 安装 Quercus 安装 Quercus 很简单,即将 jar 文件安装到一个 Java 应用程序,但由于 Quercus 是 Resin 应用服务器的一个特性,因此它也构建在 Resin 中。没有必要下载 PHP 引擎,因为 Quercus 就可以充当 PHP 引擎。按照以下步骤安装 Quercus: 从公司 Web 站点下载 Resin 应用服务器。 打开这个压缩文件并解压缩 jar 文件:quercus.jar、resin-util.jar 和 javamail-141.jar。 将这些文件和 MySQL 连接器 jar 文件(如果需要)复制到您的 Web 应用程序的 WebContent\WEB-INF\lib 文件夹。 另一种简单的安装方法是以本文末尾提供的压缩样例应用程序为基础,从那里复制库。 进入 Quercus 为介绍 Quercus 的特性,我将向您展示一个简单的 HelloWorld 示例。这个应用程序可以通过以下步骤创建。(本文使用的所有应用程序都是使用 Eclipse IDE 创建的,有些步骤还提供了屏幕快照,以便它们更加直观。您也可以选择其他 IDE)。 以下步骤的基本目的是创建一个动态 Web 应用程序项目,将它指向应用服务器运行时(本例中是 Apache Tomcat),并配置 php.ini 和 web.xml 等参数。 在 IDE(本例中为 Eclipse)中创建一个新的 Web 项目,如图 1 所示(Alt + Shift + N)。 图 1. 创建新项目 输入项目名称并指向运行时。图 2 显示了一个样例设置屏幕。 单击 File --> New (Alt + N),在默认工作空间中创建一个名为 TestHelloWorld 的新的动态 Web 应用程序。 我将 Apache Tomcat Version 5.5 配置为应用程序的运行时环境。 图 2. 设置新项目 复制一个包含 Quercus 和联合 jar 文件的目录结构(如图 3 所示)。另外,创建 WebContent、META-INF(包含清单文件或上下文文件)和 JavaScript resources 等文件夹。 图 3. 建立目录结构 TestHelloWorld 项目的根目录包含以下文件夹: WebContent:这个目录中的 WEB-INF 目录的 lib 文件夹包含 quercus.jar 等库,META-INF 目录包含 Manifest.mf 文件。WEB-INF 文件夹还包含这个 Web 应用程序的静态和动态内容,如 php、jsp 或 html 文件。 Java Resources:这个目录包含一些库,如 Apache Tomcat 库、JRE 和 Web 应用程序库。 JavaScript resources:这个目录包含您想要在项目中包含的任何资源。 服务器可以通过 IDE 创建和配置,并在普通或调试模式下执行(见图 4)。 Eclipse 中的 J2EE 透视图有一个 server 选项卡,右键单击该选项卡将显示一个创建新服务器的选项(见图 4)。这个服务器可以用 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |