【发布时间】:2011-02-21 13:16:52
【问题描述】:
我正在寻找有关在我的基于 PHP 的 Web 应用程序中重构数据访问层 (DAL) 的最佳方式的意见。我遵循 MVC 模式:PHP/HTML/CSS/等。前端的视图,中间的 PHP 控制器/服务,以及位于模型中关系数据库顶部的 PHP DAL。很标准的东西。一切正常,但我的 DAL 变得越来越大(codesmell?)并且变得有点笨拙。
我的 DAL 包含与我的数据库接口的几乎所有逻辑,并且充满了如下所示的功能:
function getUser($user_id) {
$statement = "select id, name from users where user_id=:user_id";
PDO builds statement and fetchs results as an array
return $array_of_results_generated_by_PDO_fetch_method;
}
注意事项:
- 我的控制器中的逻辑仅使用 DAL 中的上述功能与模型交互
- 我没有使用框架(我是 PHP是模板的观点 语言,没有必要 通过框架注入复杂性)
- 我一般使用 PHP 作为程序 语言并倾向于回避 它的 OOP 方法(我喜欢 OOP 发展,但更愿意保留它 PHP 的复杂性)
当您的 DAL 达到这一点时,您采取了哪些方法?我有基本的设计问题吗?我是否只需将我的 DAL 切成多个较小的文件(逻辑上划分它)?谢谢。
【问题讨论】:
-
您的 DAL 是否使用一个类/文件?还是您将其拆分为多个模型?那么用户模型中只有以用户为中心的信息等?
-
@ircmaxell,它在一个文件中是最新的。我没有使用 OOP 方法,所以它只是一个很大的函数列表。
标签: php database model-view-controller architecture