面向对象编程OOP
目标:
重用性、灵活性、扩展性
特点:
封装、继承、多态

类的书写方法:
class PersionName{
}

特征:属性。其实就是变量
行为:方法。其实就是函数

1.实例化对象
2.对象中成员的访问
3.特殊的对象引用$this
4.构造方法和析构方法

魔术方法:
__construct() //构造方法
__destruct() //析构方法
__toString() //

对象链:
$obj->a()->b();
//a里面应该return $this;

属性的作用域:
1.在类体内都可以使用
2.局部变量的使用

类方法传参:
$obj->say('yujie');

全局变量、局部变量、对象属性、超全局变量的作用范围

全局变量:整个页面都可以使用,函数里要用全局变量必须加global
局部变量:函数内部使用
对象属性:在整个为类中使用,包括子类和父类
超全局变量:页面的任何地方都能使用

类的继承特性:
class It extends Person{}
parent::abc();

与类有关的测试函数:
1.获取对象的类
get_class();
2.获取对象的父类
get_parent_class();
3.获取类的属性
get_class_vars();
4.获取对象的属性
get_object_vars();
5.获取类和对象的方法
get_class_methods();
6.对象或类中是否含有say方法
method_exists("Person","say");
7.对象或类中是否含有name属性
property_exists("Person","name");
8.测试对象是否属于某个类
$p1 instanceof person
9.是否是对象
is_object();
10.测试类是否存在
class_exists();
11.测试接口是否存在
interface_exists();

分页类:
1.需要赋初值的东西全放到__construct()
2.public属性能赋值初值,不能参与任何运算
3.运算顺序
4.类中只有方法能调用并执行

封装:
private function start(){}

三个修饰词:
public //子类和外部都可以使用
protected //子类可以使用
private //本类可以使用

抽象类: //含有抽象方法的类叫抽象类
abstract class prc(){}
接口: //只含有抽象方法的类叫接口
interface Usb{}

多态: //通过一个函数去加工不同形态的类对象

魔术方法:
1.__construct
2.__destruct
3.__call
4.__get
5.__set
6.__isset
7.__unset
8.__toString
9.__clone

自动加载:
__autoload

function __autoload($classname){
include($classname.".class.php");
}
$user = new Model("user");

关键字:
1.const
类常量
可以修饰属性
const HOST='localhost';
类外面:
Model::HOST;
类里面:
self::HOST;
2.static
静态变量
可以修饰属性和方法
static $objs=0;
类外面:
Model::$objs;
类里面:
self::$objs;
3.final
无法覆盖
修饰类和方法
最终版本

PDO数据库抽象层:
1.pdo类
2.pdo预处理类
3.pdo异常处理类

mysql数据库支持:预处理和事务机制

生成PDO数据库连接对象
$pdo = new PDO("mysql:host=localhost;dbname=test","root","123456");
设置操作字符集
$pdo -> exec("set names utf8");
设置从结果集预处理对象中获取数据的默认数组类型
$pdo -> setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE,PDO::FETCH_ASSOC);

执行增删改操作:
exec()

执行查找操作
query()

获得最后一次插入的ID
lastInsertId()

设置结果集预处理对象中获取数据的默认数组类型:
setAttribute()

查看结果集预处理对象中获取数据的默认数组类型:
getAttribute()

PDO::ATTR_ERRMODE(pdo报错模式)
PDO::ERRMODE_SILENT
PDO::ERRMODE_WARNING
PDO::ERRMODE_EXCEPTION

PDO::ATTR_DEFAULT_FETCH_MODE(PDO获取模式):
PDO::FETCH_NUM
PDO::FETCH_ASSOC
PDO::FETCH_BOTH

异常处理警报:
1.getMessage();
2.getFile();
3.getLine();

事务机制:
1.myisam不支持
2.InnoDB支持

预处理机制:
1.预先准备sql发送到服务器上
$obj = $pdo -> prepare($sql);
2.改预处理语句绑值,并设置绑定值类型
$obj -> bindValue(1,0,PDO::PARAM_INT);
3.执行这条语句
$obj -> execute();

最新文章

  1. thinkphp一句话疑难解决笔记 2
  2. jquery的ajax可以传入的三种参数类型
  3. Lambda表达式可以被转换为委托类型
  4. 长链非编码RNA(lncRNA)
  5. yii2源码学习笔记(七)
  6. poj Monthly Expense
  7. jquery之营销系统(补偿记录)
  8. JavaEE Tutorials (28) - Duke书店案例研究示例
  9. android 5.0新特性CardView教程
  10. Windows消息传递函数SendMessage参数属性
  11. 上门洗车APP --- Androidclient开发 之 项目结构介绍
  12. [2011山东ACM省赛] Identifiers(模拟)
  13. css控制div显示/隐藏方法及2种方法比较原码 - czf164的专栏 - 博客频道 - CSDN.NET
  14. numpy地址
  15. 小程序 新建项目底部tabbar
  16. LeetCode-860. Lemonade Change
  17. 微信小程序开发——导航失效的解决办法
  18. pandas 索引与列相互转化
  19. 数学之路-python计算实战(9)-机器视觉-图像插值仿射
  20. SpringMVC由浅入深day01_8springmvc和mybatis整合

热门文章

  1. Google不兼容ShowModalDialog()弹出对话框的解决办法
  2. 说一下的dubbo的工作原理?注册中心挂了可以继续通信吗?
  3. 树莓派WIFI
  4. centos7安装kubernetes k8s 1.18
  5. pod详解
  6. 【项目管理】关于Issue/Milestone的使用指导
  7. 锁定项目的 node 版本
  8. Android埋点技术概览
  9. http文件下载与404
  10. hdu1024 最大m子序列和