本篇文章為大家展示了php中工廠模式的原理是什么,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。
在做網(wǎng)站、網(wǎng)站設(shè)計(jì)過(guò)程中,需要針對(duì)客戶(hù)的行業(yè)特點(diǎn)、產(chǎn)品特性、目標(biāo)受眾和市場(chǎng)情況進(jìn)行定位分析,以確定網(wǎng)站的風(fēng)格、色彩、版式、交互等方面的設(shè)計(jì)方向。創(chuàng)新互聯(lián)建站還需要根據(jù)客戶(hù)的需求進(jìn)行功能模塊的開(kāi)發(fā)和設(shè)計(jì),包括內(nèi)容管理、前臺(tái)展示、用戶(hù)權(quán)限管理、數(shù)據(jù)統(tǒng)計(jì)和安全保護(hù)等功能。
1、說(shuō)明
工廠模式解決的是如何不通過(guò)new建立實(shí)例對(duì)象。
它有一些方法可以創(chuàng)建目標(biāo),而不是new。如果想改變創(chuàng)建的對(duì)象類(lèi)型,只需要改變工廠,使用這個(gè)工廠的所有代碼會(huì)自動(dòng)改變。
工廠模式通常與接口一起使用,應(yīng)用程序不需要知道這些實(shí)例化類(lèi)的具體細(xì)節(jié),只要知道工廠返回的是支持某個(gè)接口類(lèi)別的類(lèi)就可以輕松使用。
2、實(shí)例
/** * 抽象出一個(gè)人的接口 * Interface Person */ interface Person { public function showInfo(); } /** * 一個(gè)繼承于抽象人接口的學(xué)生類(lèi) * Class Student */ class Student implements Person { public function showInfo() { echo "這是一個(gè)學(xué)生 \n"; } } /** * 一個(gè)繼承于抽象人接口的老師類(lèi) * Class Teacher */ class Teacher implements Person { public function showInfo() { echo "這是一個(gè)老師 \n"; } } /** * 人類(lèi)工廠 * Class PersonFactory */ class PersonFactory { public static function factory($person_type) { // 將傳入的類(lèi)型首字母大寫(xiě) $class_name = ucfirst($person_type); if(class_exists($class_name)){ return new $class_name; }else{ throw new Exception("類(lèi):$class_name 不存在",1); } } } // 需要一個(gè)學(xué)生 $student = PersonFactory::factory('student'); echo $student->showInfo(); // 需要一個(gè)老師的時(shí)候 $teacher = PersonFactory::factory('teacher'); echo $teacher->showInfo();
上述內(nèi)容就是php中工廠模式的原理是什么,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
當(dāng)前名稱(chēng):php中工廠模式的原理是什么
URL網(wǎng)址:http://bm7419.com/article46/pppjeg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號(hào)、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、云服務(wù)器、用戶(hù)體驗(yàn)、做網(wǎng)站、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
全網(wǎng)營(yíng)銷(xiāo)推廣知識(shí)