php - 避免为服务器端和客户端重写逻辑两次

标签 php javascript code-reuse

我正在编写一款软件,允许用户为产品选择不同的选项。价格将根据选择的选项而有所不同。服务器正在使用 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 脚本代码。我还缺少其他选择吗?有什么建议么?谢谢。

最佳答案

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

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

关于php - 避免为服务器端和客户端重写逻辑两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15609492/

相关文章:

php - 在 Codeigniter 中使用 $this->db->like() 会返回错误/缺失的结果

php - 如何添加到关联数组

php - 我应该在 header() 之后使用 "return;"吗?

javascript - 使用 javascript 或 JQuery 提取并替换 href 标签

c++ - 使用 vcxproj 重用代码不起作用

java - 如何创建一个存储常用重用代码的库 - 需要根据项目进行调整?

javascript - 使用 JavaScript 将 XML 请求发布到 URL

javascript - 每 24 小时进行一次不同的 Google 地球游览(无人)

javascript - 注入(inject)脚本错误 : Script returned non-structured-clonable data on Firefox extension

c# - 将泛型 IEnumerable<T> 转换为 IEnumerable<KeyValuePair> (C#)