-
__get/__set __call/__callStatic __toString __invoke查看全部
-
splStack() splQueue() SplMinHeap() SplFixedArray()查看全部
-
PSR-0 規(guī)范 1. 命名空間與絕對(duì)路徑一致 2. 類名首字母大寫 3. 除入口外,其他文件里只有一個(gè)類 符合的基礎(chǔ)框架: 1.全部使用命名空間 2.所有PHP文件必須自動(dòng)載入,不能有include/require 3.單一入口 注:命名空間同目錄名一致,類名同文件名一致查看全部
-
spl_autoload_register(); 5.3 以后用這個(gè) __autoload()查看全部
-
用 symbol 去切換類?有意思查看全部
-
策略模式可以實(shí)現(xiàn)依賴導(dǎo)致、控制反轉(zhuǎn)。查看全部
-
策略模式實(shí)現(xiàn): 1.定義一個(gè)策略接口文件,定義策略接口,聲明策略 2.定義具體類,實(shí)現(xiàn)策略接口,重寫策略方法 實(shí)現(xiàn)了硬編碼到解耦查看全部
-
策略模式,將一組特定的行為和算法封裝成類,以適應(yīng)特定的上下文環(huán)境,這種模式就是策略模式。查看全部
-
適配器模式,可以將截然不同的函數(shù)接口封裝成統(tǒng)一的API 步驟: 1.聲明一個(gè)接口,聲明幾個(gè)方法 2.將要同一統(tǒng)一實(shí)現(xiàn)的類中重寫這幾個(gè)方法 3.用戶在使用時(shí)自動(dòng)選用對(duì)應(yīng)的類方法。查看全部
-
注冊(cè)器模式:用來將一些對(duì)象注冊(cè)到一個(gè)全局的樹上,供全局訪問 class Register{ protected static $objects function set($alias,$object){ self::$objects[$alias]=$object; } static function get($name){ return self::$objects[$name]; } function _unset($alias){ unset(self::$onjects[$alias]); } } $alias表示別名,自己設(shè)定 在工廠模式中添加 Register::set('db1',$db); 其他任何地方調(diào)用只需要調(diào)用注冊(cè)器讀取即可 Register::$objects['db1'];查看全部
-
單例模式:類僅允許生成一次對(duì)象 一般會(huì)用于數(shù)據(jù)庫類的對(duì)象的生成。 1.將類的構(gòu)造函數(shù)聲明為private private function __construct(){ } 2.將要生成的對(duì)象設(shè)定為protected 定義一個(gè)靜態(tài)的getInstance方法 protected $db; static function getInstance(){ if(self::$db){ return self:$db; }else{ self::$db = new self(); return self::$db; } }查看全部
-
單例模式:類僅允許生成一個(gè)對(duì)象 一般會(huì)用于數(shù)據(jù)庫類的對(duì)象的生成。 1.將類的構(gòu)造函數(shù)聲明為private private function __construct(){ } 2.定義一個(gè)靜態(tài)的getInstance方法 static function getInstance(){ }查看全部
-
工廠模式: 就是在類中封裝new方法,然后返回對(duì)象。可以在類做了修改后不必一個(gè)一個(gè)去修改各php文件中的new對(duì)象。查看全部
-
PHP的3中基本設(shè)計(jì)模式 1.工廠模式 ,使用一個(gè)工廠方法或類生成對(duì)象,而不是在代碼中直接使用new 2.單例模式, 是摸個(gè)類的對(duì)象僅被允許創(chuàng)建一個(gè) 3.注冊(cè)模式, 全局共享和交換對(duì)象查看全部
-
魔術(shù)方法: __get($key)//調(diào)用不存在的類成員時(shí)會(huì)調(diào)用 __set($key,$value)//給不存在的類成員賦值時(shí)會(huì)調(diào)用該方法 __call($func,$param)//調(diào)用不存在的類方法時(shí)會(huì)調(diào)用方法 __callStatic($func,$param)//調(diào)用不存在的靜態(tài)成員方法時(shí)調(diào)用如Test::test() __toString($class)//將對(duì)象轉(zhuǎn)化為字符串輸出 __invoke($param)//將對(duì)象當(dāng)成函數(shù)使用,如$obj = new Object();echo $obj('test');查看全部
舉報(bào)
0/150
提交
取消