首页 理论教育PHPMVC开发实战:模型与表映射处理方法

PHPMVC开发实战:模型与表映射处理方法

【摘要】:在模型与表映射过程中,系统会智能地根据配置信息处理好模型名与表名之间的关系。例如上述代码中的User表名,事实上数据库中并不存在User表,但是系统会根据配置信息DB_PREFIX指定的数据表名前缀智能地添加到模型中,因为User首字母为大写,系统会强制给User添加表前缀,最终的表名称为tpk_user。模型映射不仅能够智能地添加表前缀,还可以添加表后缀。假设数据表名为tp_user_local,那么在模型映射时只需将表名与后缀名首字母改成大写即可。

要测试数据库是否已经正常连接,最直接的办法就是在当前控制器动作中实例化数据表,然后使用dump函数输出,查看数据库的连接状态,代码如下所示。

然后通过URL访问hello动作,如果出现错误提示则说明数据库没有连接上(确保打开调试模式),需要重新检查配置文件。否则即为成功状态。

上述代码中M(“User”)即为模型映射,M函数是new Model()的快捷方式,Model类是模型的基类,也是数据库操作的基类,该类封装了所有常见数据库操作方法,其中$name为该类中的一个成员属性,表示模型名称,模型名称与数据库中的数据表进行映射,所以Model类将$name作为构造函数参数传入,达到初始化的目的。

在模型与表映射过程中,系统会智能地根据配置信息处理好模型名与表名之间的关系。例如上述代码中的User表名,事实上数据库中并不存在User表,但是系统会根据配置信息DB_PREFIX指定的数据表名前缀智能地添加到模型中,因为User首字母为大写,系统会强制给User添加表前缀,最终的表名称为tpk_user。(www.chuimin.cn)

模型映射不仅能够智能地添加表前缀,还可以添加表后缀。假设数据表名为tp_user_local,那么在模型映射时只需将表名与后缀名首字母改成大写即可。

如果不需要为表添加表前缀,那么可以将模型名称首字母改为小写,即M("userLocal")。当然在实际应用开发中是极少这样设计的(如果全部都不需要表前缀,DB_PREFIX配置项中留空即可)。