我正在编写一款软件,允许用户为产品选择不同的选项。价格将根据选择的选项而有所不同。服务器正在使用 LAMP 堆栈。客户端将使用 HTML5 和 javascript。我试图防止重写验证和价格计算两次,一次在服务器上,一次在客户端上。此时我有几个可用的选项。
- 做正常的事情,重写两次验证和价格计算
- 仅在服务器上进行验证和计算,并使用 ajax 更新客户端(速度慢,我想避免。)
- 实现两种语言都支持的辅助语言(想到 Lisp)
- 用 javascript 编写验证和计算逻辑。将 V8js 库与 php 一起使用
- 使用 Node.js
我也在努力避免对项目提出太多要求。如果我走 Node.js 的路线,那么我将不得不将它安装在一个单独的子域上,然后购买一个通配符 SSL 证书,或者可能只是另一个证书。我宁愿不将它放在同一个域中,而是使用一些奇怪的代理/请求转发程序来决定是 PHP 还是 Node.js 来处理请求。
PHP 站点的某些部分将需要访问数据。我正在使用 Doctrine 2 作为 ORM。走这条路我不认为使用 Node.JS 是最好的选择。
我更倾向于选项一,但也许我可以编写一些代码来生成所需的 java 脚本代码。我还缺少其他选择吗?有什么建议么?谢谢。
最佳答案
那些理论上“复杂”的重写是否值得?可能只是不值得。
但如果确实如此——那么您的解决方案就是重用类似“后端”的逻辑。用 javascript 编写并在 php 中重用 -- 没问题。
关于php - 避免为服务器端和客户端重写逻辑两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15609492/