php的类是经过关键字class来声明的,关键字后面是类名,而后是花括号,花括号里面是类的属性和方法。javascript
类的属性和方法有四种格式,public,private,protected,finally。php
意思是public(公有的,能够被子类继承)。java
private(私有的,不能被子类继承,只能在其所在的类中使用)。ajax
protected(受保护的,能够在当前类中和子类中使用)。sql
finally(不能执行的,为之后的功能预先定义)。数据库
php类有三大特性,分别是封装继承和多态。json
封装类只是为了避免让别的类随意修改本类的属性和方法,因此在定义类中的属性和方法是,能够经过关键字来设置这个属性或方法的权限。后端
类的继承是让一个类经过关键字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语句执行失败或还未提交是能够回滚。
事务的提交和回滚只会执行一个