滑稽兔的blog PHP and Python Coder

ThinkPHP-day12

2020-01-14
滑稽兔啊

PHP

第12天,CURD

CURD的三种写法

1.第一种:Db类

2.第二种:Model动态

3.第三种:Model静态

在写项目时,常用写法:

  • 创建和更新使用Model动态方法save()

  • 查一条和多条使用Model静态方法get(),all()

  • 删除使用Model静态方法destroy()

模型类与Db类的区别:

模型类具有修改器,获取器,自动完成,类型转换等高级操作,而Db类没有;

异常Exception

use think\Exception;

获取异常try{}catch(\think\Exception $e){//catch可以写多次}

常用的属性:

$this->error=$e->getMessage();

//调用模型类的一个属性error,并将抛出的异常信息,赋值到error属性中

getLastInsID()

//作用是获取最后一次添加记录的主键(id)

allowField(true)类似链式操作的一种写法

//作用是在进行增加方法时,在用户提交的信息中将与数据库字段吻合的数据添加

在异常中使用三种方法新增

//测试是在控制器中,普通写法应该是在Model;
try{
	$data=[
		'name'=>'admin',
		'pwd'=>md5(123),
		'email'=>'110901678@qq.com'
	]
	//1.使用Db类新增
	$rt=Db::table('表名')->field(true)->insert($data);
	echo Db::getLastInsID();
	//2.使用模型静态-不推荐
	$rt=\app\index\model\Users::create($data);
	//3.使用模型动态-推荐
	$rt->allowField(true)->save($data);
	
}catch(\think\Exception $e){
	echo $e->getMessage();
}

拓展:static与self在实例化的区别

面向对象中new static 与new self区别:

1.写在类的本身时没有区别

2.写在类的继承时(例如下栗子)

当红框中是self时,最后echo 的是’Text’.

当红框中是static时,最后echo 的是’Zx’.


Similar Posts

上一篇 演示操作

Comments