我经常在 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吗?
如果它有助于我自己写这篇文章,有什么方法可以让我更有效地处理它吗?