php的类是通过关键字class来声明的,关键字后面是类名,然后是花括号,花括号里面是类的属性和方法。
类的属性和方法有四种格式,public,private,protected,finally。
意思是public(公有的,可以被子类继承)。
private(私有的,不能被子类继承,只能在其所在的类中使用)。
protected(受保护的,可以在当前类中和子类中使用)。
finally(不能执行的,为以后的功能预先定义)。
php类有三大特性,分别是封装继承和多态。
封装类只是为了不让别的类随意修改本类的属性和方法,所以在定义类中的属性和方法是,可以通过关键字来设置这个属性或方法的权限。
类的继承是让一个类通过关键字extends继承另一个类的属性和方法(私有的属性和方法不能被继承)。
一个类被多个子类继承,在多个子类中表现出不同的功能就是多态。
PHP支持重写,不支持重载,但可以模拟重载。
PHP模拟重载需要用到四个魔术方法,分别是(__isset)(__unset)(__set)(__get)。
在类没有被实例化的情况下,想要执行一个静态方法(static),需要用到关键字(self),而且只能使用同为静态的属性。
抽象类和接口:接口是定义,抽象类是实现。
创建接口需要用到关键字interface,创建抽象类需要用到关键字abstract。
MySQL查询执行流程:首先到查询缓存里面查看有没有匹配的sql数据,如果有匹配的数据,则去检查权限是否支持,如果权限支持,则return出数据。
如果缓存里面没有匹配的数据,则会生成一个解析树,然后检查权限,权限在支持的情况下,会做一系列的查询优化(这一步是查询优化器做的),优化完成后会return出数据。
前后端交互,进行数据库查询:
$.ajax({
type: "POST",
url: xxx,
data: ???,
dataType: "json",
success: function(data){
console.log(data);
},
});
//type是传输方法
//url是接受页面的地址
//data是需要穿的数据
//datatype是返回值的语言格式
//success是代码执行成功后执行的函数
$.post(url, data,
function(data){
alert(data.name);
console.log(data.time);
}, ??);
//url是接受值的地址
//data是需要传的数据
//function是回调函数
//??是返回值的格式
$.get方法和$.poat方法用法一样。
$?? = $this->input->post('???');
$where = {};
$where.?? = $??;
$this->db->select(*)->from('xxx')->where($where)->get()->result_array();
PHP的GET方法和POST方法用法一样。
PHP模型类是用来专门和数据库打交道的类。
如果要引入一个模型类,调用方法是这样的:
$this->load->model('模型类名称');
$this->模型类名称->模型类中的方法名();
事务:
原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚。
一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态。
隔离性是当多个用户并发访问数据库时,不能被其他事务的操作所干扰。
持久性是指一个事务一旦被提交了,那么对数据库中的数据的改变就是永久性的。
start:开始。就是系那个要执行,还未执行。
commit:提交。提交之后就不能回滚了。
rollback:回滚。SQL语句执行失败或还未提交是可以回滚。
事务的提交和回滚只会执行一个