Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Corak Reka Bentuk PHP: Panduan Aplikasi Lanjutan

Corak Reka Bentuk PHP: Panduan Aplikasi Lanjutan

PHPz
PHPzasal
2024-06-04 15:38:00228semak imbas

Jawapan: Artikel ini memperkenalkan tiga corak reka bentuk PHP: corak tunggal, corak proksi dan corak penyesuai. Penerangan terperinci: Corak tunggal memastikan bahawa hanya satu contoh kelas dibuat, menyediakan pusat akses global. Corak proksi menyediakan lapisan antara muka proksi kepada objek lain untuk meningkatkan akses atau kawalan. Corak Penyesuai membenarkan kelas yang serasi dan tidak serasi digunakan bersama, menjadikannya berfungsi dengan kod pelanggan sedia ada.

Corak Reka Bentuk PHP: Panduan Aplikasi Lanjutan

Corak Reka Bentuk PHP: Panduan Aplikasi Lanjutan

Corak Tunggal

Corak tunggal memastikan bahawa kelas hanya mempunyai satu contoh dan menyediakan pusat akses global.

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();

Corak proksi

Corak proksi menyediakan lapisan proksi antara muka untuk objek lain. Ia meningkatkan akses atau kawalan objek sasaran.

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();

Corak Penyesuai

Corak Penyesuai membolehkan kelas yang tidak serasi digunakan dengan kod pelanggan sedia ada.

rreeee

Atas ialah kandungan terperinci Corak Reka Bentuk PHP: Panduan Aplikasi Lanjutan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn