关于复杂的CakePHP页面的建议

时间:2013-05-22 18:06:07

标签: php sql cakephp cakephp-2.0

我只是想从拥有CakePHP经验的人那里获得建议。

基本上我使用CakePHP完成了我的大部分网站,其中大部分是非常标准的东西。基本上添加,编辑和查看数据库中各种表格的页面(学生,课程,课程等等 - 这是学校的应用程序)。所以这些东西很简单。不超过1或2个协会。

但是现在我必须做一些更复杂的事情,我担心如果我以正常的CakePHP方式执行大量关联,那么每页的查询量将会变得很大。

基本上,它是网站的一部分,您可以在其中为不同的班级组建立时间表。时间表中的条目包括课程ID,用户ID(引用教师),类组ID(正在接受它的类),时间/日期,以及添加它多个星期的选项。例如:

第一年的学生将于周一上午9点​​与史密斯先生一起做生物学,从2013年5月22日开始接下来的9周。

数据库中没有重复事件,上面应该只创建9个条目。

我不知道我将如何以CakePHP的方式处理这个问题。做手动查询/插入等会更好吗?我很想,但我知道在使用这样的框架时,这种东西被认为是不好的做法。或者CakePHP可以管理这类东西吗?

1 个答案:

答案 0 :(得分:1)

<强> TLDR:

没有为您编写代码,我认为答案是:以CakePHP方式执行它没有问题,以任何其他方式执行它可能是个坏主意。

更多说明:

如果您需要数据,那么您需要数据 - 底线。如果你像你应该那样进行缓存,即使你有很多疑问,这也不是一个大问题。

另一个选择是重新考虑你的数据库,如果你真的有“太多”的查询 - 但听起来你正在使用约定,所以我不会担心。

示例 - 我刚刚在我们构建的一个非常复杂的网站上检查了一个页面(启用了调试),它在主页上有119个查询(看似很多)只需要22ms。

最后 - CakePHP只是生成MySQL - 所以如果你能够用MySQL构建你想要的查询,你可以使用CakePHP构建它们(并且可能更容易)。我已经制作了一堆具有各种主题,结构等的CakePHP网站,并且几乎从不需要手动构建查询。