面向对象:object 最先翻译为物质 简称oop
构造函数是对象被创建时自动调用的方法,用来完成类初始化的工作
构造函数可以接受参数,能够在创建对象时赋值给对象属性
构造函数可以调用类方法或其他函数
构造函数可以调用其他类的构造函数
构造方法
在面向对象中,函数被称为方法
1 特殊的名称:__construct 2 在实例化对象时,自动被调用
3 在内存中划分了对应的内存空间区域 4 构造方法可以像普通方法一样,接收参数;这里的参数通常是用来初始化类中的属性
5 构造方法不能重复定义,每个类当中有且只能有一个;如果不写相当于有一个默认的不带参数且没有任何执行的空函数
析构函数当某个对象成为垃圾或者当对象被显示销毁时执行
析构函数是在销毁对象时,自动调用,不能显示的调用。
析构函数不能带参数。
__destruct()析构函数
1 作用与构造函数相反,它是用来销毁对象的,同时他也会用于有关联的数据的同步销毁
2 同样,析构函数也是自动被调用
3 析构函数不能传参数
作用和范围
public:公开访问级别 使用public关键字修饰,用public关键字修饰的成员对外公开,即公开成员可以被任何其他对象访问。
private:私有访问级别 使用private关键字修饰,它是修饰符中级别最低的 私有成员只有类本身可以访问 不对外公开
protected:受保护访问级别 使用protected关键字修饰 受保护的成员可以被同一包中的类所访问 还可以被类的子类所访问 不管子类是在哪个包中
GC(garbage collector)垃圾处理机制,防止内存溢出
OOA面向分析 OOD面向设计 OOP面向编程
面向对象三大特征:封装 继承 多态
封装优点:信息隐蔽,封装即隐藏
继承:扩展父类的内容,注意只能继承public和protected修饰的内容,而private修饰的则不能继承
关键字: extends
PHP中继承是单继承,即extends后面只能有1个类名;但是1个类可以有无数个子类
子类和父类只能出现在有继承关系的2个类之间
继承是子类,被继承是父类
parent::(域作用符) 指代调用父类的函数方法
追溯不直接于父类
重写:在子类中出现和父亲同名的方法,这个称为重写
行为的重新定义 重写只能发生在有继承关系的类之间,方法名称相同即重写,与参数没有关系
重写时,访问修饰符的可以访问的范围不能低于父类中的访问修饰符
对于private修饰的方法不能重写
多态:是指在面向对象中能够根据使用类的上下文来重新定义或改变类的性质和行为。
也成变态:“变换的形态”
接口:(interface) 是抽象方法和静态常量定义的集合 是一个特殊的类
接口是一种特殊的抽象类,这种抽象类中只包含抽象方法和静态常量
接口没有其他类型的内容
在接口中的抽象方法只能是public的,默认也是public
接口采用的插件式配置,可以随意的匹配给任意一个类
类可以实现(implements)接口,类实现的接口可以有无数个
当一个类实现接口后,该接口的所有方法必须在该类中实现
instanceof运算符,它用于类型判断,判断某个参数对象是否属于某个类
final关键字,意思是终态的,最后的。
它可以修饰函数方法,被修饰的函数方法不能被重写
final可以修饰类class,但是修饰的类不能被继承
类当中的属性不能被final修饰
static 静态的
它可以修饰属性变量,也可以修饰函数方法
静态资源加载和普通的非静态的资源加载是不一样的
在非静态方法中可以调用静态方法,但是反过来就不行
静态static修饰的内容被创建不需要有对象存在,同时它们是被放置在静态区当中
静态资源的标准访问方式是===> 类名:静态资源名称
一个对象echo能直接输出 证明它是tostring
php连接数据库:
1.连接 2.选择DB/设置字符集 3.组装SQL并发送 4.接收并处理 5.关闭
mysql_connect() 建立数据库连接
mysql_select_db() 选择操作的数据库
mysql_query() 执行SQL语句
mysql_fetch_array() 返回一行记录(数组)
mysql_num_rows() 返回结果集中行的数目
mysql_close() 关闭数据库
PDO本身是一个类,查询可以使用的函数方法和常规属性
PDO->beginTransaction() — 标明回滚起始点
PDO->commit() — 标明回滚结束点,并执行SQL
PDO->__construct() — 建立一个PDO链接数据库的实例
PDO->errorCode() — 获取错误码
PDO->errorInfo() — 获取错误的信息
PDO->exec() — 处理一条SQL语句,并返回所影响的条目数
PDO->getAttribute() — 获取一个“数据库连接对象”的属性
PDO->getAvailableDrivers() — 获取有效的PDO驱动器名称
PDO->lastInsertId() — 获取写入的最后一条数据的主键值
PDO->prepare() — 生成一个“查询对象”
PDO->query() — 处理一条SQL语句,并返回一个“PDOStatement”
PDO->quote() — 为某个SQL中的字符串添加引号
PDO->rollBack() — 执行回滚
PDO->setAttribute() — 为一个“数据库连接对象”设定属性
PDO::PARAM_BOOL
表示一个布尔类型
PDO::PARAM_NULL
表示一个SQL中的NULL类型
PDO::PARAM_INT
表示一个SQL中的INTEGER类型
PDO::PARAM_STR
表示一个SQL中的SQL CHAR,VARCHAR类型
PDO::PARAM_LOB
表示一个SQL中的large object类型
PDO::PARAM_STMT
表示一个SQL中的recordset类型,还没有被支持
理论:面向对象
概念:认识或认知事物的一种方式---》类比
对象是类进行实例化后的结果
object===》 物质、物体
类===》属性和行为
(默认情况下的是缺少了该属性或行为则类别就无法确定)
扩展的附加行为----》 接口
特点: 三大特征=====》 封装:封装即隐藏,隐藏的被修改的能力,防止别人随意更改信息。 实现封装的手段:访问修饰符、类、函数方法、文件、文件夹
访问修饰符:public、protected、private
继承====》扩展/拓展 extends php是单继承 重写(什么情况下不能重写)
final this:当前类的对象/ parent:父类对象 / self:调用类自身的一些方法,通常用于静态,与this相对应 static
父类<====>子类 能看到父类的public和protected
多态: abstract interface接口====》实现implements
异常信息:@ error_reporting 忽略错误信息 display_errors
命名空间:namespace
引入文件:include include_once require require_once
模板引擎 ====》smarty3.1 分离、分工
模板文件夹、模板转换后的文件夹、插件库、配置文件、缓存文件
tpl 定界符默认{ } ====>推荐<{ }>
<{ }>\<{if}>...<{/if}>
<{foreach}>
<{foreachelse}>
<{/foreach}>
assign()
display()
代码: 类《===》对象
PDO ====》php data object
smarty
PDO 类
PDOStatement 类
new PDO (‘数据库连接访问字符串‘,‘登录用户名‘,‘登录的密码‘,‘访问的相关参数‘)
mysql:databasename=test;port=3306;host=localhost;charset=utf8
exec($sql)====>int类型
query($sql)=====>PDOStatement对象
prepare($sql)====>PDOStatement对象
fetch 提取一行数据 返回一维数组
fetchAll 返回二维数组
fetchObject 返回对象格式
原文:http://www.cnblogs.com/muyan927/p/5658790.html