PHP和Java EE后端

时间:2020-03-05 18:46:17  来源:igfitidea点击:

我可以将Struts用作Web应用程序的后端,而PHP用作Web应用程序的前端吗?如果是,可能会有什么影响。

解决方案

回答

后端和前端是什么意思?

如果我们打算在网站的管理端使用Java,而在公众可以看到的部分使用PHP,那么没有什么可以阻止。

这意味着我们将必须维护两种不同语言的应用程序。

回答

我认为意思是我们想使用PHP作为模板语言,并使用结构作为中间件(动作等)。

我想答案是肯定的,不是在结构会话和PHP之间没有某种桥梁。

如果我们说要在structs动作中将java中的x更改为3,就不能仅仅使用<?php echo x?>或者其他方法来获取值,我们将需要以某种方式来回传递信息。

我想可以,但是提交可以。

虽然不推荐。

回答

我对Java不太了解,但是我记得前一段时间遇到过Quercus。它是PHP代码的100%Java解释器。

所以是的,我们可以在Java应用程序上安装PHP模板。更新:有关更多信息,请参见Quercus:Java中的PHP。

回答

正如Jordi所提到的,首先想到的是Quercus(来自Resin servlet引擎的制造商)。它是PHP运行时的Java实现,并且据称允许我们直接从PHP访问Java对象(我的一部分说"是,最后")。

另一方面,尽管我一直渴望以这种方式尝试一个项目,但除非确实有理由在代码级进行集成,否则我可能会保持Java EE和PHP之间的分离。

相反,为什么不尝试SOA方法,即PHP"前端"通过HTTP通过定义的REST或者SOAP API(在此处对REST进行强烈投票)调用Struts应用程序。

http://mydomain.com/rest/this-is-a-method-call?parameter1=foo

我们可以使用Struts来构建整个"后端"模型,仅处理业务逻辑和数据,而完全忽略表示。在使用这些URL公开API时,基本上就是在构建REST API(如果以后可能需要其他客户端应用程序提供对后端的更大访问权限,则可能会派上用场)。

PHP应用程序可以单独构建(相当简单),调用REST API(也许使用Curl),就像调用数据库或者某些本地PHP类库一样。

无论如何,这就是我要做的。但是,如果我们确实使用Quercus,请发布它的运行方式。