【笔记】PHP类和对象

前言

PHP类和对象学习笔记

创建类

  • 类中可以定义属性和方法
1
2
3
4
5
6
7
8
9
<?php
class 类名{
public 属性名;

function 方法名() {
...
}
}
?>

创建对象

1
2
3
<?php
对象名 = new 类名();
?>

创建对象时为属性赋值

1
2
3
<?php
对象名 = new 类名('属性名'->属性值);
?>

创建对象后为属性赋值

1
2
3
<?php
对象名->属性名 = 属性值;
?>

方法

普通方法

1
2
3
4
5
6
7
<?php
class 类名{
function 方法名() {
...
}
}
?>

魔术方法

  • 魔术方法是有特殊功能的方法,魔术方法的方法名是以__作为前缀
1
2
3
4
5
6
7
<?php
class 类名{
function __魔术方法名() {
...
}
}
?>
魔术方法名 备注
__construct() 在创建对象时自动调用
__destruct() 在销毁对象时自动调用
__call() 在对象调用不可访问的方法时被调用
__callStatic() 在类调用不可访问的静态方法时被调用
__get() 在对象中获取不可访问的属性时被调用
__set() 在对象中修改不可访问的属性时被调用
__isset() 在对象中对不可访问的属性调用isset()方法或empty()方法时被调用
__unset() 在对象中对不可访问的属性调用unset()方法时被调用
__sleep() 在执行serialize()方法之前被调用
__wakeup() 在执行unserialize()方法之前被调用
__toString() 在将对象作为一个字符串时被调用
__invoke() 在尝试以调用调用函数的方式调用对象时被调用
__set_state() 在调用var_export()方法导出类时被调用
__clone() 在调用clone()方法克隆对象后被调用,通常用来修改克隆后对象的属性

完成

参考文献

哔哩哔哩——千锋教育网络安全学院