在PHP开发中,使用设计模式可以提高代码的可读性、可维护性和可扩展性。以下是一些经典设计模式的PHP实例,通过表格形式呈现。
单例模式(Singleton)
单例模式确保一个类只有一个实例,并提供一个全局访问点。

| 类名 | 方法 | 作用描述 |
|---|---|---|
| Singleton | getInstance() | 获取类的唯一实例 |
| Singleton | __construct() | 构造函数,私有化以防止外部实例化 |
| Singleton | __clone() | 防止对象克隆 |
| Singleton | __wakeup() | 防止反序列化 |
```php
class Singleton {
private static $instance = null;
private function __construct() {}
public static function getInstance() {
if (self::$instance === null) {
self::$instance = new Singleton();
}
return self::$instance;
}
private function __clone() {}
private function __wakeup() {}
}
```
观察者模式(Observer)
观察者模式定义对象间的一对多依赖关系,当一个对象改变状态时,所有依赖于它的对象都会得到通知。
| 类名 | 方法 | 作用描述 |
|---|---|---|
| Subject | attach($observer) | 添加观察者 |
| Subject | detach($observer) | 移除观察者 |
| Subject | notify() | 通知所有观察者 |
| Observer | update() | 观察者收到通知后的操作 |
```php
class Subject {
private $observers = [];
public function attach($observer) {
$this->observers[] = $observer;
}
public function detach($observer) {
$key = array_search($observer, $this->observers);
if ($key !== false) {
unset($this->observers[$key]);
}
}
public function notify() {
foreach ($this->observers as $observer) {
$observer->update();
}
}
}
class Observer {
public function update() {
echo "









