笔记内容来自慕课 大话PHP设计模式。
一、面向对象的高级特性
这里主要是学习 第三章、命名空间和Autoload 和 第四章、PHP面向对象 2章的内容笔记
命名空间 namespace
类自动载入
旧的方法
|
|
PSR-0规范内容:
- 命名空间必须与绝对路径一致
- 类名首字母必须大写
- 除入口文件外,其他
.php
必须只有一个类
开发符合psr-0规范的基础框架
- 全部使用命名空间
- 所有php文件必须自动载入,不能有include/require
- 单一入口
SPL库的使用(php标准库)
主要参考文档:php标准库
- SplStack、SplQueue、SplHeap、SplFixedArray等数据结构类
- ArrayIterator、AppendIterator、Countable、ArrayObject
- SPL提供的函数
|
|
php链式操作
链式操作实现: $db->where()->get();
每个方法有返回值
php魔术方法的使用
- get/set:
- call/callstatic:
- __toString:
- __invoke: 将一个php对象当做一个函数执行
二、设计模式
3种基本设计模式
- 工厂模式:工厂方法或者类生产对象,而不是在代码中直接new
- 单例模式:使某个类的对象仅允许创建一个
- 注册模式:全局共享和交换对象
其他设计模式
适配器模式
策略模式
数据对象映射模式
观察者模式
原型模式
装饰器模式
迭代器模式
代理模式