什麼是php工廠模式

2020-07-16 10:05:43

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

推薦教學:PHP視訊教學

一、什麼是工廠模式?

 一個類通過本身的靜態方法來,範例化一個類並返回一個範例物件;

二、工廠模式特點?

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

  靜態方法名稱:static public function factory($class_name){} 【靜態方法是類與外界的介面, 返回的是一個物件】

三、優點?

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

  比如:連線資料庫,可以使用mysql 、mysqli、pdo,根據不同引數設定使用不同的資料庫操作類

四、應用場景

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

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

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

系統對接多個不同型別的資料庫,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工廠模式的詳細內容,更多請關注TW511.COM其它相關文章!