3

我正在编写一个允许用户为产品选择不同选项的软件。价格将根据选择的选项而有所不同。服务器正在使用 LAMP 堆栈。客户端将使用 HTML5 和 javascript。我试图防止两次重写验证和价格计算,一次在服务器上,一次在客户端上。在这一点上,我有几个可用的选项。

  1. 做正常的事情并重新编写验证和价格计算两次
  2. 仅在服务器上进行验证和计算,并使用 ajax 更新客户端(慢,我想避免。)
  3. 实现两种语言都支持的辅助语言(想到 Lisp)
  4. 用javascript编写验证和计算逻辑。将 V8js 库与 php 一起使用
  5. 使用 Node.js

我也试图避免对项目有很多要求。如果我走 Node.js 的路线,那么我将不得不将它安装在单独的子域上,然后购买通配符 SSL 证书,或者可能只是另一个证书。我宁愿不要把它放在同一个域上,并且有一些奇怪的代理/请求转发程序来决定 PHP 或 Node.js 是否应该处理请求。

PHP 站点的某些部分将需要访问数据。我正在使用 Doctrine 2 作为 ORM。走这条路线我不认为使用 Node.JS 将是最好的路线。

我更倾向于选项一,但也许我可以编写一些代码来生成所需的 java 脚本代码。我还有其他选择吗?有什么建议么?谢谢。

4

2 回答 2

0

那些理论上的“复杂”重写值得吗?可能只是不值得。

但是,如果确实如此 - 那么您使用类似“后端”的逻辑的解决方案是最好的。用javascript编写并在php中重用——没关系。

于 2013-03-25T15:03:08.970 回答
0

您可以用 Java 编写验证例程。

在 applet 中将代码传送到客户端 - 然后您的 javascript 代码可以调用 applet 的方法。在服务器上,您可以将其作为命令行程序运行。

自从我做任何 JAVA 以来已经有很长时间了,但我认为可以创建一个既可以用作命令行程序又可以用作小程序的类。

小程序不需要 UI,可以缩小到 1px 正方形或 display:none;

于 2013-03-25T18:37:44.903 回答