標籤:就會 blank auto echo bsp icon src 好文 where
針對PHP的設計模式進行總結記錄。
順帶,我會在後面把我整理的一整套CSS3,PHP,MYSQL的開發的筆記打包放到百度雲,有需要可以直接去百度雲下載,這樣以後你們開發就可以直接翻筆記不用百度搜那麼麻煩了。
筆記連結:http://pan.baidu.com/s/1qYdQdKK 密碼:pvj2
一、關於命名空間
命名空間
1.命名空間介紹
2.命名空間使用
執行個體:
test1.php檔案代碼:
| 1234567 |
<?phpnamespace Test1;function test(){echo __FILE__;}?> |
test2.php檔案代碼:
| 123456 |
<?phpnamespace Test2;function test(){echo __FILE__;}?> |
test.php檔案代碼:
| 123456789 |
<?php// 如果沒有 namespace命名空間 就會出現衝突require ‘test1.php‘;require ‘test2.php‘;// 這樣輸出Test1\test();Test2\test();?> |
二、類的自動載入
test.php檔案代碼:
| 123456789101112131415161718192021222324252627 |
<?php// 這樣輸出Test1::test();Test2::test();//下面這個函數允許有多個檔案載入 ②新方法 這種比第一種先進spl_autoload_register(‘autoload1‘);spl_autoload_register(‘autoload2‘);spl_autoload_register(‘autoload3‘);function autoload1($class){require __DIR__.‘/‘.$class.‘php‘;}function autoload2($class){require __DIR__.‘/‘.$class.‘php‘;}function autoload3($class){require __DIR__.‘/‘.$class.‘php‘;}…………/*//①原來的舊方法 下面這個函數後面被拋棄了,因為多次引入相同檔案會衝突function __autoload($class){require __DIR__.‘/‘.$class.‘php‘;}*/?> |
三、開發一個PSR-0的基礎架構
PSR-0規範
1.命名空間必須與絕對路徑一致
2.類名首字母必須大寫
3.除入口檔案外,其他".php"必須只有一個類
開發符合PSR-0規範的基礎架構
1.全部使用命名空間
2.所有PHP檔案必須自動載入,不能有include/require
3.單一入口
四、SPL標準庫簡介
1.幾種資料結構介紹:
執行個體:
| 123456789101112131415161718192021222324252627282930313233343536 |
<?php/* 棧結構 後進先出$stack = new SplStack();$stack->push("data1<br>");$stack->push("data2<br>");echo $stack->pop();echo $stack->pop();*//*隊列 先進先出$queue = new SplQueue();$queue->enqueue("data1<br>");$queue->enqueue("data2<br>");echo $queue->dequeue();echo $queue->dequeue();*//* 堆$heap = new SplMinHeap();$heap->insert("data1<br>");$heap->insert("data2<br>");echo $heap->extract();echo $heap->extract();*/// 列印固定尺寸數組$array = new SplFixedArray(10);$array[0] = 123;$array[9] = 1234;var_dump($array);?> |
2.PHP鏈式操作的實現
$db->where()->limit()->order();
執行個體:
前頁:
| 12345678910 |
<?php$db = new IMooc\Database();$db->where("id=1");$db->where("name=2");$db->order("id desc");$db->limit(10);echo $db->where("id=1")->order("id desc")->limit(10);?> |
Database代碼:
| 1234567891011121314151617 |
<?phpnamespace IMooc;class Database{function where($where){return $this;}function order($order){return $this;}function limit($limit){return $this;}}?> |
筆記連結:http://pan.baidu.com/s/1qYdQdKK 密碼:pvj2
我是一名熱愛旅遊,讀書,學習的文藝程式員。 不甘於平庸,不甘於舒適,願不斷挑戰經曆不同的美好。 如果您和我有共同的愛好,本人熱愛交友,可以聯絡我。 QQ:330168885分類: PHP開發標籤: PHP設計模式, PHP設計好文要頂 關注我 收藏該文 琉憶光年
關注 - 0
粉絲 - 6+加關注00? 上一篇:PHP的加密方法匯總
? 下一篇:關於git和SVN的介紹和區別
大話PHP設計模式筆記