首頁  >  文章  >  後端開發  >  什麼是php工廠模式

什麼是php工廠模式

angryTom
angryTom原創
2019-08-24 10:33:363883瀏覽

什麼是php工廠模式

    工廠模式是我們最常使用的實例化物件模式了,是用工廠方法取代new作業的一種模式。著名的Jive論壇 ,就大量使用了工廠模式,工廠模式在Java程式系統可以說是隨處可見。今天我們就來為大家介紹PHP中的工廠模式。

推薦教學:PHP影片教學

#一、什麼是工廠模式?

 一個類別透過本身的靜態方法來,實例化一個類別並傳回一個實例物件;

二、工廠模式特性?

  類別命名特點:nameFactory  eg:  class mysqlFactory{}  【這是為了規範,當然也去起其他任意名字】

  靜態方法名稱:static public function  factory($class_name){} 【靜態方法是類別與外界的接口, 傳回的是物件】

三、優點?

  如果已經使用的類別內部發生改變,哪不需要在所有的地方都改變,只需要在類別工廠類別裡改變既可,

  例如:連接資料庫,可以使用mysql 、mysqli、pdo,根據不同參數配置使用不同的資料庫操作類別

4、應用程式場景

  做支付介面的時候,未來可能對應不同的支付網關:支付寶、財付通、網路銀線上等。

  方便未來擴充,設計成工廠模式。定一個專門生產網關介面的工廠,抽像出來,做成介面形式,讓所有的子類別都要實現它的介面。以後加一個支付方式,要用哪一種支付方式,改變一下參數即可。

  在為使用者註冊的時候,分成很多種角色的使用者。例如冊用戶,匿名用戶、管理員用戶等。完全使用可以使用工廠的思想來實現,代碼也容易維護,為每種角色可以生成操作的類別等等。

系統對接多個不同類型的資料庫,mysql,oracle,sqlserver

#五、程式碼實例;
##

interface  mysql{
    public function connect();
}
class mysqli2  implements mysql{
    public  function connect(){
        echo 'mysqli';
    }
}
class pdo2 implements mysql{
    public function connect(){
        echo 'pdo';
    }
}
class mysqlFactory{
    static public function factory($class_name){
        return new $class_name();
    }
}
$obj = mysqlFactory::factory('pdo2');
$obj->connect();

以上是什麼是php工廠模式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn