|
|
1
1
使用对象关系映射(ORM)… 试试 Doctrine ORM 项目。 另一个解决方案是 CodeIgniter 它有最好的活动记录库。非常有帮助。 如果您仍然决定编写自己的类,那么使用php5 method chaining . 语法会更漂亮… |
|
|
2
0
“更好的主意”绝对是个更好的主意。你可以考虑看看 Django implements this 因为这就是这里使用的方法。Django是用python编写的,这确实使一些事情变得简单了一些,但是您也应该能够在php中使用其中的概念(只是稍微不那么整洁)。不过,总的来说,进行查询会创建一个查询对象,该对象具有order\u by等方法。应用这些方法将更改查询的状态,只有当实际执行查询时,它才需要生成SQL并在数据库上执行它。 如果您坚持使用前者,您可能会考虑像许多现有框架一样,使用动态名称的“魔力方法”。例如,
您将拥有一个带有动态参数列表的“catch all”方法,该列表读取被调用函数的名称,并在函数有效时执行所需的行为(如果没有,则引发标准的“method not found”错误)。这基本上与您现在所做的相同,但它将大量整理代码并整理您的模型。你需要PHP5,你在找 the __call magic method . Julien在他的回答中提到了代码点火器——编写好的模型非常困难,所以通常您最好使用现有的框架。(但是尝试是很有趣的!) |
|
|
3
0
这个
Code Igniter framework
数据库管理允许您对数据库执行这种请求,从而限制复制/粘贴代码。
我觉得他们的模型很好。 |
|
|
4
0
首先,确保您问自己的所有这些“问题”都与应用程序当前实际需要的特性有关。我在设计新项目时看到的最大问题之一是投机设计。只添加你需要的。为添加的内容编写单元测试。当您达到需要额外特性的程度时,如果需要,请重构到更好的设计。 如果您确实需要前面的所有特性,我仍然推荐重构方法。实现一些您可以看到类似的特性,或者促成“膨胀”。完成后,后退一步,看看是否可以重构为更优雅的东西,或者是在不同的对象和/或方法之间更均匀地分配职责的东西。然后继续。各种各样的“模式”和“重构”书籍将在这里帮助您。 |
|
|
5
0
首先,你应该考虑的是:
如果我选择*只是因为调用函数可能需要下拉的任何信息,那么性能会受到多大的影响? 这取决于你网站的负载。大多数情况下(如果不提取大的blob和文本)*是可以的,但是当资源不足时,必须指定列。这样可以节省一些IO时间。 我觉得这会使模型非常膨胀,非常捆绑,产生大量重复的代码。有这种型号可能更好; 也许试试这个: 首先,对于复杂的查询,我使用很久以前为MySQL编写的这个类。这对他有很大帮助。
也许试试这个:
|
|
|
6
0
|