答案:本文介绍了三种 PHP 设计模式:单例模式、代理模式和适配器模式。详细描述:单例模式确保仅创建一个类实例,提供全局访问点。代理模式为另一个对象提供一层代理接口,增强访问或控制权。适配器模式允许兼容与不兼容的类一起使用,使它们与现有客户端代码协同工作。
单例模式保证一个类仅有一个实例,并且提供了全局访问点。
class Singleton { private static $instance; private function __construct() { // ... } public static function getInstance(): Singleton { if (!isset(self::$instance)) { self::$instance = new Singleton(); } return self::$instance; } } // 使用 $instance = Singleton::getInstance();
代理模式为另一个对象提供一层接口代理。它可以增强目标对象的访问或控制权。
class DBConnection { private $host; private $user; // ... public function connect() { // ... } } class DBConnectionProxy { private $connection; public function connect() { if (!$this->connection) { $this->connection = new DBConnection(); $this->connection->connect(); } return $this->connection; } } // 使用 $proxy = new DBConnectionProxy(); $connection = $proxy->connect();
适配器模式使一个不兼容的类可以与现有的客户端代码一起使用。
class OldPaymentSystem { public function charge($amount) { // ... } } class NewPaymentSystem { public function pay($amount) { // ... } } class PaymentSystemAdapter { private $oldSystem; public function __construct(OldPaymentSystem $oldSystem) { $this->oldSystem = $oldSystem; } public function pay($amount) { $this->oldSystem->charge($amount); } } // 使用 $oldSystem = new OldPaymentSystem(); $adapter = new PaymentSystemAdapter($oldSystem); $adapter->pay(100);
以上是PHP设计模式:高级应用指南的详细内容。更多信息请关注PHP中文网其他相关文章!