MODEL的设计原则

来源:互联网 发布:zookeeper 集群 端口 编辑:程序博客网 时间:2024/04/29 19:27

大多数开源的php框架都对数据库的操作进行了封装,设计和实现了model类。如果我们需要写一个小的、自用的model类来简化和规范特定项目的数据库操作时需要注意哪些问题呢?我的观点如下。

 

1,考虑到某些数据库系统的内置SQL语句解释与标准SQL的要求并不一致,大多数情况下是更宽泛、灵活,为了达到最好的可移植性,我们要将model类中的SQL语句规范成标准SQL,应尽量避免使用某些数据库系统特有的SQL语法。

 

具体要处理:数据类型,各种子句如LIMIT 子句、WHERE子句、GROUP 子句、SELECT、INSERT等等。以MYSQL和POSTGRESQL为例。

 

2,安全考虑。使用内置的escape或prepare函数对执行前的SQL语句进行处理。值得提醒的是,一般应养成在客户端使用js对用户输入进行长度限制的习惯,以减轻服务器端的数据校验工作负担,提高SQL语句执行的准确度。

 

3,model要统一实现CRUD。

C(create)创建记录,R(retrieve)检索记录,U(update),D(delete)

 

4,为增强model中操作的WHERE子句灵活性,要提供输入丰富查询条件的附加接口。

 

5,与客户端submit数据接口进行标准对接的考量。

 

 

【本文会继续,当我基于POSTGRESQL和PHP的实验的推进,我会同步细化本文。】

 

 

原创粉丝点击