我为我现在的雇主全职使用 CakePHP 和 MySQL 开发 Web 应用程序,所以我将尝试根据经验回答您的问题:
有谁知道哪种解决方案最适合这种情况?
任何 PHP 框架都是您问题模型的绝佳解决方案。我更喜欢 CakePHP,因为它允许我快速部署应用程序,而且它更倾向于约定而不是配置。
如果此应用程序完全使用 PHP/CakePHP 开发,则由一个人开发需要相当长的时间,并且需要开发人员的输入来添加/删除/更新数据库结构/字段。
从你告诉我的情况来看,你的应用程序将主要是一个CRUD应用程序。CakePHP 安装标准配备了您需要的功能。更好的是,您可以使用 CakePHP 控制台来“烘焙”您的应用程序。这将自动生成所有模型和控制器,以及从表中添加/更新/删除记录所需的所有视图。
烘焙应用程序所需的唯一准备工作是:
- 创建数据库
- 按照文档中的约定命名所有表。
- 遵循命名约定,确保将所有外键放在正确的位置。
此时,Bake Console 将开始构建模型、发现关系并为 CRUD 操作生成代码。没错,在构建数据库后大约 10 分钟内,您将完成 70-90% 的功能(基于您当前的模糊规范)。从那里,您将需要使用自己的设计、安全性和报告等功能来充实事物。
这真的很容易。
既然我已经说了所有这些,你需要知道一些事情:
- 正确优化 CakePHP 配置需要一些经验和/或魔法。让您的应用程序启动并运行是小菜一碟。让它运行良好需要一些努力来确保您使用最佳实践。在 google 中搜索“Optimize CakePHP”的变体并查看您找到的博客。
- 可遏制的行为是一种祝福和诅咒。无论如何,将它放在您的 AppModel 中以使所有内容都“可包含”。但是,尽量不要使用可包含从深度关联的模型中查找数据。Cake 会吐出几百个(或几千个)Select 查询,您的应用程序将开始爬网/失败。