【发布时间】:2011-10-02 20:43:54
【问题描述】:
我经常在 PHP,特别是 WordPress 插件中看到人们直接在他们的插件中编写 SQL...我学到的东西的方式,一切都应该分层处理...所以如果有一天给定的要求层改变,我只需要担心改变一切接口的层。
现在我正在编写一个层来连接数据库,这样,如果我与数据库交互的方式发生变化,我所要做的就是改变一层,而不是我创建的 X 个插件。
我觉得这似乎是其他人过去可能遇到过的事情,而我的方法效率低下。
我正在编写诸如
之类的类Table
Column
Row
这让我可以使用给定的对象创建数据库表、列和行,并使用特定的方法来处理它们的所有功能:
$column = new \Namespace\Data\Column ( /* name, type, null/non-null, etc... */ );
$myTable = new \Namespace\Data\Table( /* name, column objects, and indexes */ );
\Namespace\TableModel.create($myTable);
我的问题是……
其他人是否已经编写了一些东西来提供不同层之间的某种分离?
如果没有,从长远来看,我的方法是否会有所帮助,还是我在浪费时间?我应该像其他人一样分解和硬编码 sql 吗?
如果它有助于我自己编写这个,有什么方法可以让我更有效地处理它吗?
【问题讨论】:
标签: php standards data-layers