目录
1 类的声明
类是事物的抽象化,对象是事物的具体化,在PHP中定义一个类使用class关键字。
<?php
class Mysql
{
private $host='localhost';
private $user='root';
private $pwd='root';
private $db='article'
public function insert(){}
public function update(){}
public function delete(){}
}
?>
2 构造函数与析构函数
__construct():当创建对象时,首先会调用构造函数对对象进行实例化。
__desctruct():在对象被销毁时前会自动执行析构方法。
<?php
class Man
{
private $name;
private $age;
private $sex;
public function __construct($name,$age,$sex){
$this->name=$name;
$this->age=$age;
$this->sex=$sex;
}
public function __desctruct(){
}
}
?>
3 静态属性与静态方法
静态属性:静态属性属于类本身,使用static关键字来定义,在类外部通过“类名::静态属性”来访问,在类内部通过“self::静态属性”来访问。
静态方法:静态方法属于类本身,在不实例化对象的情况下通过“类名::静态方法”的形式访问,在类内可以通过“$this->静态方法”的形式访问。
4 类的特征
封装性
使用public、private、protected关键字可以用来修饰对象的属性和方法。
继承性
将一个看做基类,其子类继承该基类时可以使用extends关键字,在子类中想要调用父类的方法时可以通过“parent::父类方法”,子类继承父类之后,在子类中也可以重写父类的方法。
多态性
不同的子类通过重写父类的方法从而实现同样的函数名实现不同的功能。
5 类的魔术方法
5.1 __construct,__destruct
__constuct构建对象的时被调用;
__destruct明确销毁对象或脚本结束时被调用;
5.2 __isset,__unset
__isset对不可访问或不存在的属性调用isset()或empty()时被调用
__unset对不可访问或不存在的属性进行unset时被调用
5.3 __get,__set
__set当给不可访问或不存在属性赋值时被调用
__get读取不可访问或不存在属性时被调用
5.4 __call,__callStatic
__call调用不可访问或不存在的方法时被调用
__callStatic调用不可访问或不存在的静态方法时被调用
5.5 __sleep,__wakeup
__sleep当使用serialize时被调用,当你不需要保存大对象的所有数据时很有用
__wakeup当使用unserialize时被调用,可用于做些对象的初始化操作
5.6 __clone
进行对象clone时被调用,用来调整对象的克隆行为
5.7 __toString
当一个类被转换成字符串时被调用
5.8 __invoke
当以函数方式调用对象时被调用
5.9 __set_state
当调用var_export()导出类时,此静态方法被调用。用__set_state的返回值做为var_export的返回值。
5.10 __debuginfo
当调用var_dump()打印对象时被调用
6 对象的实例化
通过new关键字可以将一个类实例化成一个对象。
<?php
class Man
{
private $name;
private $age;
private $sex;
public function __construct($name,$age,$sex){
$this->name=$name;
$this->age=$age;
$this->sex=$sex;
}
public function __desctruct(){
}
}
$man=new Man('brell',22,'Boy');
?>