欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

ThinkPHP学习笔记1-CURD

程序员文章站 2024-02-08 11:05:28
...
ThinkPHP学习笔记1-----CURD

ThinkPHP为我们提供非常快捷的方法执行curd操作,怎么用还是看手册,这里主要写一点我自己经验

例如

(一) 访问:http://localhost:1243/think/index.php/Form/show 显示数据库列表函数

代码如下

        public function show(){			//进行输出表格			$user=M("user");			$userArr=$user->select();			//dump($userArr);			$this->assign("userArr",$userArr);			$this->display();			}

1.在M()函数中,user代表的是表名,也就是数据库中的user表.如果无法实例化对象,检查:

(1).是否在conf/config.php中设置了 ‘DB_DSN’,‘DB_PREFIX’(如果表名存在前缀);

(2)是否存在 表前缀_user表

2.display(0是存在于Action类中的函数,就像Smarty,ThinkPHP 的Action相当于smarty中的实例化的$smarty类.如果未指定display页面,则会默认寻找tpl/Form/show.html


(二). 访问:http://localhost:1243/think/index.php/Form/add 新增数据到数据库中

代码如下:

//添加数据	public function add(){	     // $model=D("Form");	    $user=M("user");            //验证规则可以写在action中            $validate = array(                array('name','require','用户名不能为空'), // 为空验证                array('name','','用户名已存在','1','unique','1'),                array('mail','email','邮箱格式错误'),            );            //将规则写入model            $user->setProperty("_validate",$validate);
			if(!isset($_POST['sub'])){				$this->display();				exit;			}			//表单提交  	    //unset($_POST['sub']);            //create函数其实是对数据库进行一次验证,在数组里面有的列才会存在在create所返回的数组中,所以可以省去unset操作            //例如在数据库表中,不存在列 mail,但是表单提交上来的有mail,create进行验证后返回的数组中不会包含mail            $res=$user->create();            if(!$res){               //错误提示               $error=$user->getError();               $this->assign("error",$error);                $this->display();               exit;                   }					$result=$user->add();			if($result>0){				$this->success("添加成功","__URL__/show");			}else{				$this->error("添加失败,请重试");			}				}

(1). D()函数在3.1以后无法进行单独的表设置,如果在Model文件夹下定义了一个FormModel.class.php,再用D("Form")实例化该Model,会提示数据表 Form不存在

暂未找到方法,请大家赐教

(2).进行自动验证的时候,可以将验证的规则写在action中,如上代码

倘若非要写在一个自定义的Model中,则如下

 protected $_validate=array(    //验证规则可以写在action中            array('name','require','用户名不能为空'), // 为空验证            array('name','','用户名已存在','1','unique','1'),            array('mail','email','邮箱格式错误'),    );

(3).关于create函数和add函数,见如上程序代码中注释


欢迎提出问题,共同解决。

ThinkPHP学习笔记1-CURD

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频