萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> php工廠模式簡單使用說明

php工廠模式簡單使用說明

本文章來給大家介紹php入門教程之工廠模式哦,工廠模式概念:實例化對象,用工廠方法替代new操作,有需要了解學習的朋友可參考。


工廠模式代碼:

 

 代碼如下 復制代碼

<?php
//首先定義什麼是人類
 interface Human {
    //人是愉快的,會笑的
    public function laugh();
    //人類還會哭,代表痛苦
    public function cry();
    //人類會說話
    public function talk();
}

//然後定義具體的人種
class YellowHuman implements Human {//黃色人種,這個翻譯的不准確,將就點吧
    function cry() { var_dump( "黃色人種會哭");}
    function laugh() {var_dump( "黃色人種會大笑,幸福呀!");}
    function talk() {var_dump( "黃色人種會說話,一般說的都是雙字節"); }
}
class WhiteHuman implements Human { //白色人種
    public function cry() {var_dump("白色人種會哭");}
    public function laugh() {var_dump("白色人種會大笑,侵略的笑聲"); }
    public function talk() {var_dump("白色人種會說話,一般都是但是單字節!"); }
}
class BlackHuman implements Human { //黑色人種
    public function cry() {var_dump("黑色人種會哭");}
    public function laugh() {var_dump("黑色人種會大笑,侵略的笑聲"); }
    public function talk() {var_dump("黑色人種會說話,一般都是但是單字節!"); }
}

//人種也定義完畢了,那我們把八卦爐定義出來:
class HumanFactory {
    //定一個烤箱,泥巴塞進去,人就出來,這個太先進了
    public static function createHuman( $c ){
        if ($c instanceof Human ) {//判斷是否繼承自Human
            return $c;
        }else {
            var_dump("必須跟HuMan有一腿");
        }
    }
}


var_dump("------------造出的第一批人是這樣的:白人-----------------");
$whiteHuman = HumanFactory::createHuman( new WhiteHuman());
$whiteHuman->cry();
$whiteHuman->laugh();
$whiteHuman->talk();
    
 //女娲第二次造人,火候加足點,然後又出了個次品,黑人
var_dump("nn------------造出的第二批人是這樣的:黑人-----------------");
$blackHuman = HumanFactory::createHuman(new BlackHuman());
$blackHuman->cry();
$blackHuman->laugh();
$blackHuman->talk();
    
//第三批人了,這次火候掌握的正好,黃色人種(不寫黃人,免得引起歧義),備注:RB人不屬於此列
var_dump("nn------------造出的第三批人是這樣的:黃色人種-----------------");
$yellowHuman = HumanFactory::createHuman(new YellowHuman());
$yellowHuman->cry();
$yellowHuman->laugh();
$yellowHuman->talk();

copyright © 萬盛學電腦網 all rights reserved