如何构建一个脱机工作的php mysql应用程序

use*_*396 11 php mysql offline

我有一个Web应用程序,可以在线存储MySQL数据库中的数据.它还使用PHP代码检索数据,在服务器上执行计算并将结果发送回用户.

数据很简单:从数据库读取并在服务器端操作的名称,描述,价格,增值税,小时费用.

客户通常在互联网连接不佳或不可用的环境中工作.在这种情况下,我希望客户能够脱机工作:输入新名称,描述,价格并使用上一个增值税来执行计算.然后在连接可用时立即同步所有数据.

现在的问题是,我不知道实现这一目标的最佳方式或技术是什么.别担心,我不是要求为我编写代码.您能否向我解释一下建立这样一个系统的正确方法是什么?

有一种简单的方法可以在本地使用我的在线MySQL和PHP代码吗?

我应该在本地文件中保存我需要的数据,在JavaScript中重建计算,在本地执行它们,然后在数据库可用时同步数据.

我应该使用两个MySQL数据库,一个本地数据库和一个联机数据库,并在数据可用时在两者之间进行同步吗?如果是,我将使用哪种技术(语言)来执行此操作?

如果可能的话,我想从过去曾在类似项目中工作过的PHP编码员那里得到答案,并且可以给我详细的框架结构和技术信息.请记住,我是新来的书面申请的这种方式,我将不胜感激,如果你能抽出几分钟时间解释一切对我来说,如果我六岁的或愚蠢的(这是我!)

我非常感谢任何帮助和建议.

再见,

多纳托

Eug*_*eck 13

基本上有3种方法:

版本1:"旧学校":PHP-Gtk +和bcompiler

  • 首先,如果您还没有这样做,则需要将业务逻辑与表示层(HTML,模板引擎......)和数据库层分开
  • 然后调整你的数据库层,以便它可以与另一个数据库(想到本地SQlite)一起生活并再次在线时执行同步
  • 最后使用PHP-Gtk +创建一个新UI并使用bcompiler打包所有这些

版本2:"标准":随身携带您的服务器

  • 查看Server2Go,WampOnCD和朋友创建"双击网络服务器"(从Z-WAMP开始)
  • 您仍需要像在版本1中那样调整数据库层

版本3:"Web 2.x":将应用程序从服务器移动到浏览器

  • 将应用程序逻辑从服务器端(PHP)移动到客户端(JS)
  • 使您的服务器部分(PHP)只是数据访问或同步层
  • 如果您处于脱机状态,则使用HTML5脱机功能将数据访问替换为本地数据,并在联机时重新同步

哪一个最好?

这取决于你拥有什么和你想要什么.如果你的大多数业务逻辑是在PHP中,然后将其移动到浏览器可能是prohibitingly昂贵的-要知道,这也产生了一个全新的一流的安全nightmaares的.我个人不建议以这种方式移植,但如果备份数据库不是太大,我建议将其用于新应用程序.

如果您选择,让您的PHP业务逻辑,然后1和2之间的desicion往往是多少UI确实你的应用程序有一个quiestion - 如果它是只有少数CRUD形式,1.可能是一个好主意 - 这是definitly的最便携的(从你的角度来看).如果没有,请选择2.