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

时间:2010-12-03 13:12:33

标签: php database cakephp filemaker

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

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

2 个答案:

答案 0 :(得分:5)

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

  

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

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

  

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

根据您的说法,您的应用程序将主要是CRUD应用。 CakePHP安装标配了您需要的功能。更好的是,您可以使用CakePHP控制台“Bake”您的应用程序。这将自动生成所有模型和控制器,以及从表中添加/更新/删除记录所需的所有视图。

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

  1. 创建数据库
  2. 根据文档中的约定命名所有表。
  3. 确保按照命名约定将所有外键放在适当的位置。
  4. 此时,Bake Console将开始构建模型,发现关系以及为CRUD操作生成代码。这是正确的,在构建数据库后大约10分钟内,您将完成70-90%(根据您当前的,模糊的规范)的功能。从那里开始,您需要使用自己的设计,安全性和报告等功能来充实。

    这很容易。

    现在我说了所有这些,你需要了解一些事情:

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

答案 1 :(得分:0)

您可以通过OutSystems试用Agile平台。您可以直观地模拟Web应用程序(包括所有数据库详细信息,网页,逻辑......),然后使用SQL Server数据库生成标准.Net应用程序。

定义数据库结构后,可以将表拖放到页面中以自动创建CRUD。这极大地简化了操纵数据的网页的实现。这些“向导”还将创建所有分页和列排序(当您列出表中的数据时),以及用户输入数据所需的弹出窗体(带字段输入验证)。

最后,但并非最不重要的是,如果您对数据库结构进行更改,平台将自动更新您正在使用的所有页面和逻辑(如查询),并将精确定位您需要手动更改为的所有元素确保应用程序一致。

您可以在http://www.outsystems.com/download/免费下载敏捷平台,并尝试一下。

干杯 米歇尔

PS:我在OutSystems工作