-
課程內(nèi)容查看全部
-
3種基本設(shè)計模式查看全部
-
PSR-0命名規(guī)范查看全部
-
__call類調(diào)用了不存在的方法是調(diào)用的魔法方法查看全部
-
設(shè)計模式查看全部
-
數(shù)據(jù)對象映射模式: 1、數(shù)據(jù)對象映射模式,是將對象和數(shù)據(jù)存儲映射起來,對一個對象的操作會映射為對數(shù)據(jù)存儲的操作,比我們在代碼中new一個對象,那么使用該模式就可以將對對象的一些操作,比如說我們設(shè)置的一些屬性,它就會自動保存到數(shù)據(jù)庫,跟數(shù)據(jù)庫中表的一條記錄對應(yīng)起來 實例,在代碼中實現(xiàn)數(shù)據(jù)對象映射模式,我們將寫一個ORM類,將復(fù)雜的SQL語句映射成對象屬性的操作 結(jié)合使用數(shù)據(jù)對象映射模式,工廠模式,注冊模式 對象關(guān)系映射(英語:Object Relation Mapping,簡稱ORM,或O/RM,或O/R mapping),是一種程序技術(shù),用于實現(xiàn)面向?qū)ο缶幊陶Z言里不同類型系統(tǒng)的數(shù)據(jù)之間的轉(zhuǎn)換[1] 。從效果上說,它其實是創(chuàng)建了一個可在編程語言里使用的--“虛擬對象數(shù)據(jù)庫”。 面向?qū)ο笫菑能浖こ袒驹瓌t(如耦合、聚合、封裝)的基礎(chǔ)上發(fā)展起來的,而關(guān)系數(shù)據(jù)庫則是從數(shù)學(xué)理論發(fā)展而來的,兩套理論存在顯著的區(qū)別。為了解決這個不匹配的現(xiàn)象,對象關(guān)系映射技術(shù)應(yīng)運(yùn)而生 簡單的說:ORM相當(dāng)于中繼數(shù)據(jù)查看全部
-
數(shù)據(jù)對象映射模式: 1、數(shù)據(jù)對象映射模式,是將對象和數(shù)據(jù)存儲映射起來,對一個對象的操作會映射為對數(shù)據(jù)存儲的操作,比我們在代碼中new一個對象,那么使用該模式就可以將對對象的一些操作,比如說我們設(shè)置的一些屬性,它就會自動保存到數(shù)據(jù)庫,跟數(shù)據(jù)庫中表的一條記錄對應(yīng)起來 實例,在代碼中實現(xiàn)數(shù)據(jù)對象映射模式,我們將寫一個ORM類,將復(fù)雜的SQL語句映射成對象屬性的操作 結(jié)合使用數(shù)據(jù)對象映射模式,工廠模式,注冊模式 對象關(guān)系映射(英語:Object Relation Mapping,簡稱ORM,或O/RM,或O/R mapping),是一種程序技術(shù),用于實現(xiàn)面向?qū)ο缶幊陶Z言里不同類型系統(tǒng)的數(shù)據(jù)之間的轉(zhuǎn)換[1] 。從效果上說,它其實是創(chuàng)建了一個可在編程語言里使用的--“虛擬對象數(shù)據(jù)庫”。 面向?qū)ο笫菑能浖こ袒驹瓌t(如耦合、聚合、封裝)的基礎(chǔ)上發(fā)展起來的,而關(guān)系數(shù)據(jù)庫則是從數(shù)學(xué)理論發(fā)展而來的,兩套理論存在顯著的區(qū)別。為了解決這個不匹配的現(xiàn)象,對象關(guān)系映射技術(shù)應(yīng)運(yùn)而生 簡單的說:ORM相當(dāng)于中繼數(shù)據(jù)查看全部
-
策略模式除了實現(xiàn)分支邏輯的處理之外,還可以實現(xiàn)Ioc,依賴倒置,控制反轉(zhuǎn) 面向?qū)ο蠛苤匾囊粋€思想是解耦查看全部
-
策略模式: 1、策略模式,將一組特定的行為和算法封裝成類,以適應(yīng)某些特定的上下文環(huán)境,這種模式就是策略模式 2、實際應(yīng)用舉例,假如一個電商網(wǎng)站系統(tǒng),針對男性女性用戶要各自跳轉(zhuǎn)到不同的商品類名,并且所有廣告位展示不同的廣告,傳統(tǒng)的做法是加入if...else... 判斷。 如果新增加一種用戶類型,只需要新增加一種策略即可查看全部
-
適配器模式: 1、可以將截然不同的函數(shù)接口封裝成統(tǒng)一的API 2、實際應(yīng)用舉例:PHP的數(shù)據(jù)庫操作有mysql/mysqli/pdo 三種,可以用適配器模式統(tǒng)一成一致。類似的場景還有cache適配器,可以將memcache/redis/file/apc等不同的緩存函數(shù)統(tǒng)一成一致的接口。查看全部
-
注冊器模式:已經(jīng)創(chuàng)建好對象后,下次使用直接取,將一些對象注冊到全局樹上面,可以用來在任何地方被訪問。 一般只提供一個set 和 unset 兩種方法,需要一個靜態(tài)的非公開屬性和一個取得靜態(tài)屬性的靜態(tài)方法查看全部
-
單例模式:防止數(shù)據(jù)庫連接多次,造成資源浪費(fèi) 步驟: 構(gòu)造方法私有化 聲明靜態(tài)的公有方法,來實例對象 聲明非公開的成員屬性,用于判斷 例: class Database { protected $db; private function __construct() { } static function getInstance() { if(self::$db) { return self::$db; }else { self::$db = new self(); return self::$db; } } $db = Database::getInstance();查看全部
-
工廠模式: 用一個工廠方法或者類生成對象,來替換掉在在代碼中直接new 對象的方式 好處:一旦發(fā)生變更,只需要在工廠類里面修改即可,而不用一個一個的去修改查看全部
-
三種基本設(shè)計模式: 工廠模式: 工廠方法或者類生成對象,而不是在代碼中直接new 單例模式: 使某個類的對象僅允許創(chuàng)建一個 注冊模式: 全局共享和交換對象查看全部
-
PHP魔術(shù)方法的使用: __get/ __set 將對象的屬性進(jìn)行接管,訪問/設(shè)置不存在的屬性時 __call/ __callStatic 控制對象的方法調(diào)用,訪問不存在的方法、靜態(tài)方法時 __toString 將php對象轉(zhuǎn)化為字符串 __invoke 將php對象當(dāng)作一個函數(shù)來執(zhí)行時會調(diào)用這個方法查看全部
舉報
0/150
提交
取消