您好,登錄后才能下訂單哦!
本篇內容主要講解“php工廠模式怎么實現”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“php工廠模式怎么實現”吧!
說明
1、工廠模式解決的是如何不通過new建立實例對象。
2、有一些方法可以創建目標,而不是new。
如果想改變創建的對象類型,只需要改變工廠,使用這個工廠的所有代碼會自動改變。
3、通常與接口一起使用,應用程序不需要知道這些實例化類的具體細節。
只要知道工廠返回的是支持某個接口類別的類就可以輕松使用。
實例
/** * 抽象出一個人的接口 * Interface Person */ interface Person { public function showInfo(); } /** * 一個繼承于抽象人接口的學生類 * Class Student */ class Student implements Person { public function showInfo() { echo "這是一個學生 \n"; } } /** * 一個繼承于抽象人接口的老師類 * Class Teacher */ class Teacher implements Person { public function showInfo() { echo "這是一個老師 \n"; } } /** * 人類工廠 * Class PersonFactory */ class PersonFactory { public static function factory($person_type) { // 將傳入的類型首字母大寫 $class_name = ucfirst($person_type); if(class_exists($class_name)){ return new $class_name; }else{ throw new Exception("類:$class_name 不存在",1); } } } // 需要一個學生 $student = PersonFactory::factory('student'); echo $student->showInfo(); // 需要一個老師的時候 $teacher = PersonFactory::factory('teacher'); echo $teacher->showInfo();
到此,相信大家對“php工廠模式怎么實現”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。