数据库驱动的Web应用程序的最佳解决方案

Bil*_*l D 2 php database filemaker cakephp

我一直在计划使用CakePHP框架开发用PHP编写的Web应用程序.此应用程序将严重依赖于SQL数据库.该应用程序的主要目的是提供用于添加,管理和从此数据库中删除数据的HTML表单.它将是一个下降大小的数据库(1-2个表),它们之间将有很多链接.可能还有一些数据报告(想要导出到Excel/CSV或类似).

所以这是我的问题,有谁知道什么解决方案最适合这种情况?如果这个应用程序是在PHP/CakePHP中完全开发的,那么由一个人开发并需要开发人员的输入来添加/删除/更新数据库结构/字段需要相当长的时间.但是,我可以根据应用程序的需要提供更多自定义界面,它将基于Web(可在任何地方访问).但也有像Filemaker Pro这样的解决方案可以提供类似的解决方案.有没有人有这种应用和解决方案的经验?

Ste*_*hen 5

我使用CakePHP和MySQL为我现在的雇主开发Web应用程序,所以我会尝试从经验中回答你的问题:

有谁知道什么解决方案最适合这种情况?

任何PHP框架都是您的问题模型的绝佳解决方案.我更喜欢CakePHP,因为它允许我快速部署应用程序,它更倾向于约定优于配置.

如果这个应用程序是在PHP/CakePHP中完全开发的,那么由一个人开发并需要开发人员的输入来添加/删除/更新数据库结构/字段需要相当长的时间.

从你告诉我的,你的应用程序将主要是一个CRUD应用程序.CakePHP安装标配了您需要的功能.更好的是,您可以使用CakePHP控制台" 烘焙 "您的应用程序.这将自动生成所有模型和控制器,以及从表中添加/更新/删除记录所需的所有视图.

烘焙应用程序所需的唯一准备工作是:

  1. 创建数据库
  2. 根据文档中的约定命名所有表.
  3. 确保按照命名约定将所有外键放在适当的位置.

此时,Bake Console将开始构建模型,发现关系以及为CRUD操作生成代码.这是正确的,在构建数据库后大约10分钟内,您将完成70-90%(根据您当前的,模糊的规范)的功能.从那里开始,您需要使用自己的设计,安全性和报告等功能来充实.

这真的很容易.

现在我已经说了所有这些,你需要知道几件事:

  1. 要正确优化CakePHP配置需要一些经验和/或魔术.让您的应用程序启动并运行是一块名副其实的蛋糕.让它运行良好需要一些努力,以确保您使用最佳实践.在Google中搜索"Optimize CakePHP"的变体并查看您找到的博客.
  2. 可控行为是一种祝福和诅咒.无论如何,将它放在你的AppModel中,使一切都"可以包含".但是,尽量不要使用包含来从深度关联的模型中查找数据.Cake会出现几百(或几千)个Select查询,你的应用程序将开始抓取/失败.