【发布时间】:2015-05-03 18:58:04
【问题描述】:
我突然想知道ATG 与面向对象的PHP 一起工作吗?真的有可能吗?如果不是为什么?
示例
:我们使用 droplet 在 ATG 中执行某些功能,而相同 函数也可以在 PHP 中完成。
还有为什么 Repositories(database) 不能与 PHP 一起使用?
【问题讨论】:
标签: php mysql repository atg
我突然想知道ATG 与面向对象的PHP 一起工作吗?真的有可能吗?如果不是为什么?
示例
:我们使用 droplet 在 ATG 中执行某些功能,而相同 函数也可以在 PHP 中完成。
还有为什么 Repositories(database) 不能与 PHP 一起使用?
【问题讨论】:
标签: php mysql repository atg
ATG 框架是用 Java 编写的,可以在 Java VM 中运行。
编写的用于自定义、增强或扩展 ATG 的代码与现有 Java 代码一起部署,以在同一 VM 中运行,并要求开发人员调用 Java 对象上的方法或扩展 Java 类。
该框架提供了用于从 UI 层访问 ATG 功能的标签。这些标签是用 Java 编写并作为 JSP 标签库实现的,旨在在基于 Java 的 Web 应用服务器(如 JBOSS 或 WebLogic)中运行
PHP 是一个完全不同的应用程序框架。它不在 Java VM 中运行,也没有从 PHP 代码调用 Java 方法的简单机制。
我会质疑您真正想要实现的目标是什么?您是否需要使用底层 ATG 功能,但更喜欢 PHP 的 UI 代码语法?相比之下,JSP、JSTL 和 DSP 标签真的有那么大的不同和难以处理吗?
如果您真的想继续使用 PHP 语法但要使用 ATG 功能,您可以查看 Java 中的某种 PHP 解释器 - 集成 PHP 的实现以在 Java VM 中运行。我相信 Caucho Resin 就是这样一种实现,但我不知道它有多稳定、可靠或特色。即使这样,您也可能无法使用 DSP 标签,并且需要一些其他机制来从您的 PHP 代码绑定到 Java 代码。
您是否希望将底层 ATG 功能重新实现到基于 PHP 的框架中?大约 20 年来,ATG 已在商业规模上得到积极开发。当然,您可能不想实现 ATG 所做的一切,但请仔细查看 ATG 框架所做的一切。您应该清楚地了解您想要实现的目标。
如果您确实打算将 ATG 功能重新实现为开源商务平台,那么您还应该考虑 PHP 实际上是否是一种合适的语言(我想我有可能引发一场大火)战争在这里)。
此外,您应该记住,在创建平台(而不是解决方案)时,您不仅需要提供基本的业务功能,还需要提供一种机制供其他开发人员自定义、增强和扩展。特别是在不妨碍升级路径的方式中——因此需要明确区分平台中的内容和自定义内容,而且还需要非常容易地修改或覆盖核心平台中的内容。
【讨论】:
ATG 是一个框架,用于构建具有个性化、购物车等特定模块的网站。它基于 JAVA。
与 ATG 的竞争产品(如 WebSphere Commerce 或 Hybris)中存在的功能相同,您没有理由不能使用您选择的任何语言或平台构建相同的功能。您应该问的问题是,您希望自己构建多少功能,以及您希望从应用程序供应商提供的框架中“重用”多少。
【讨论】: