程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> 兩個php常用的設計模式

兩個php常用的設計模式

編輯:PHP綜合
給大家介紹2個php常用的設計模式,工廠模式和單列模式。

1. 工廠模式

  工廠模式提供了一個在實時狀態下實例化對象的機制。

<?php
class creditCardProcessor
{
    public static function factory($provider)
    {
        switch ($provider)
        {
            case 'Verisign':
                include "Verisign.PHP";
                break;
            case 'PayPal':
                include "Paypal.PHP";
                break;
            default:
                exit("Invalid CC Provider");
      }
      return new $provider;
    }
}
$cc = creditCardProcessor::factory('PayPal');
?>  

2. 單例模式

  單例模式在確保只有一個實例運行時使用,也可以用來防止類通過clone來復制。

class dbMysgl
{
    private static $conn;
    private function __construct()
    {
        $this->conn = mysgl connect(host, login, pass);
    }
    public static function singleton()
    {
        if(!self::$conn)
        {
            $c = __CLASS__;
            self::$conn = new $c;
        }
        return self::$conn;
    }
    public function __clone()
    {
        trigger_error("Only one connection may exist");
    }
}
$db = new dbMysgl();        // 失敗
$db = dbMysgl::singleton(); // 使用的正確方法
$db2 = clone($db);          // 失敗

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved