现在后台页面的搭建工作已经完成,不知道大家有没有找到满意的模板,反正我是找到了,呵呵!接下来要做的就是后台的功能了,第一个需要完成的功能就是用户管理功能。对于功能的编写说白了主要就是对数据库的操作,数据的操作无外乎增、删、改、查这四大项,在ThinkPHP中叫CURD。
【注】:CURD是一个数据库技术中的缩写词,一般的项目开发的各种参数的基本功能都是CURD。它代表创建(Create)、更新(Update)、读取(Read)和删除(Delete)操作。
这CURD操作的任务就要交给模型来完成了,在ThinkPHP中基础的模型类就是Model类,该类完成了基本的CURD、ActiveRecord模式、连贯操作和统计查询,一些高级特性被封装到另外的模型类中,例如AdvModel高级模型类完成了一些包括文本字段、只读字段、序列化字段、乐观锁、多数据库连接等模型的高级特性,ViewModel视图模型类完成了模型的视图操作,RelationModel关联模型类完成了模型的关联操作。
基础模型类Model的设计非常灵活,甚至可以无需进行任何模型定义,就可以进行相关数据表的ORM和CURD操作,只有在需要封装单独的业务逻辑的时候,模型类才是必须被定义的。
下面就上正菜,用户模型类UserModel,这个类文件放在Lib/Model目录下,命名为UserModel.class.php,说到命名就要遵循规范,ThinkPHP要求数据库的表名和模型类的命名遵循一定的规范,首先数据库的表名和字段全部采用小写形式,模型类的命名规则是除去表前缀的数据表名称,并且首字母大写,然后加上模型类的后缀定义。
例如:UserModel 表示User数据对象,由于我之前项目配置的数据库的表前缀是 joys_,所以UserModel模型其对应的数据表应该是joys_user
【注】:表设计请看17joys网站后台功能设计-阶段1
当然如果你的规则和系统的约定不符合,也可以设置Model类的tableName属性进行自定义。
下面就是我的UserModel类代码
<?php
/*
* 功能:用户模型类
* 作者:马明
* 版本:1.0
* 开发时间:2010.1
*/
class UserModel extends Model {
/*
* 表单验证
*/
protected $_validate = array(
//array(验证字段,验证规则,错误提示,验证条件,附加规则,验证时间)
array('username','require','账号名必须存在!',1,'regex',3),
array('username','','账号名已经存在!',1,'unique',1),
array('rpwd','pwd','两次密码不一致!',0,'confirm'),
array('name','require','用户名称必须存在!',1),
array('email','require','邮箱不能为空!'),
//array('email','','邮箱已经存在!',1,'unique',3),
array('email','checkEmail','邮箱已经存在!',1,'callback',3),
array('active',array(0,1),'启用:1 ; 停用:0',0,'in'),
);
/*
* 字段映射
*/
protected $_map=array(
//'uname'=>'username',
'pwd'=>'password',
);
/*
* 自动填充
*/
protected $_auto=array(
//array(填充字段,填充内容,填充条件,附加规则)
array('password','md5',1,'function'),
array('reg_date','getDate',1,'callback'),
array('active','1'),
);
function getDate(){
return date('Y-m-d H:i:s');
}
function checkEmail(){
$user=new Model('User');
if(empty($_POST['id'])){
if($user->getByEmail($_POST['email'])){
return false;
}else{
return true;
}
}else{
if($user->where("id!={$_POST['id']} and email='{$_POST['email']}'")->find()){
return false;
}else{
return true;
}
}
}
}
?>
关于这个类文件的说明,稍后我会分开给大家讲解。
乐学PHP学院是国内专业的PHP培训机构,天津最好的PHP培训机构,拥有完整全面的PHP培训课程体系,使用自行开发的PHP内容管理系统作为授课案例,真实项目教学,还提供PHP教程、PHP视频、PHP人才、PHP开发等服务!
本文乐学PHP版权所有,未经批准转载必究。
[@more@]来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23714519/viewspace-1032848/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/23714519/viewspace-1032848/