clone与__clone()
1 | <?php |
创建新对象的方法有两个:
1、 实例化
2、 clone
当执行clone命令的时候,会自动调用__clone()函数
单例模式
一个类只能有一个对象
1 | <?php |
instanceof用来判断变量是否属于某种数据类型
项目层面的单例模式(一个项目中有一组单例模式)
1 | <?php |
object(DB1)#1 (0) { } object(DB1)#1 (0) { }
工厂模式
传递不同的参数获取不同的对象
1 | <?php |
策略模式
传递不同的参数,调用不同的方法
1 | <?php |
魔术方法
__tostring()
当把对象当成字符串调用时自动执行
1 | <?php |
__invoke()
当把对象当成函数调用的时候自动执行
1 | <?php |
__set()、__get()
set():当给无法访问的属性赋值的时候自动调用 get():当获取无法访问的属性值的时候自动调用
1 | <?php |
__unset()、__isset()
unset():当销毁无法访问的属性的时候自动调用 isset():当判断无法访问的属性是否存在时自动调用
1 | <?php |
__call()、__callstatic()
call():当调用无法访问的普通方法时候自动调用 callstatic():当调用无法访问的静态方法时候自动调用
1 | <?php |
Iterator(迭代器)
Iterator是迭代器,是PHP内置的接口,用来遍历类中的某个属性。迭代器中有5个抽象方法
- Iterator::current -返回当前元素
- Iterator::key -返回当前元素的键
- Iterator::next -向前移动到下一个元素
- Iterator::rewind -返回到迭代器的第一个元素
- Iterator::valid -检查当前位置是否有效
1 | <?php |