針對php的設計模式進行總結記錄。
一、關於命名空間
命名空間
1.命名空間介紹
2.命名空間使用
例項:test1.php檔案**:
<?phpnamespace test1;
function test()
?>
test2.php檔案**:
<?phpnamespace test2;
function test()
?>
test.php檔案**:
<?php// 如果沒有 namespace命名空間 就會出現衝突
require 'test1.php';
require 'test2.php';
// 這樣輸出
test1\test();
test2\test();
?>
二、類的自動載入
test.php檔案**:
<?php// 這樣輸出
test1::test();
test2::test();
//下面這個函式允許有多個檔案載入 ②新方法 這種比第一種先進
spl_autoload_register('autoload1');
spl_autoload_register('autoload2');
spl_autoload_register('autoload3');
function autoload1($class)
function autoload2($class)
function autoload3($class)
…………
/*//①原來的舊方法 下面這個函式後面被拋棄了,因為多次引入相同檔案會衝突
function __autoload($class)
*/?>
三、開發乙個psr-0的基礎框架
psr-0規範
1.命名空間必須與絕對路徑一致
2.類名首字母必須大寫
3.除入口檔案外,其他".php"必須只有乙個類
開發符合psr-0規範的基礎框架
1.全部使用命名空間
2.所有php檔案必須自動載入,不能有include/require
3.單一入口
四、spl標準庫簡介
1.幾種資料結構介紹:
例項:
<?php/* 棧結構 後進先出
$stack = new splstack();
$stack->push("data1
");$stack->push("data2
");echo $stack->pop();
echo $stack->pop();
*//*
佇列 先進先出
$queue = new splqueue();
$queue->enqueue("data1
");$queue->enqueue("data2
");echo $queue->dequeue();
echo $queue->dequeue();
*//* 堆
$heap = new splminheap();
$heap->insert("data1
");$heap->insert("data2
");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();
例項:前頁:
<?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**:
<?phpnamespace imooc;
class database
function order($order)
function limit($limit)
}?>
大話PHP設計模式
php魔術方法的使用1.工廠模式,工廠方法或者類生成物件,而不是在 中直接newclass factory 2.單例模式,使某個類的物件僅允許建立乙個 php class database 單例 return database static function getinstance else 3.註...
大話設計模式 筆記
簡單工廠模式 建立物件 switch 靜態工廠 策略模式 封裝變化 商品售賣 裝飾模式 在類的外部封裝新的功能 外部類要擁有對目標類的引用 模式 小明託小白追小紅 小明小紅豆實現了追求的介面 小白的實現追求介面呼叫小明的追求方法 工廠方法模式 與簡單工廠模式的區別 工廠模式是簡單工廠模式的進一步抽象...
《大話設計模式 工廠模式》筆記
1 簡單工廠模式的最大優點在於工廠類中包含了必要的邏輯判斷,根據客戶端的選擇條件動態例項化相關的類,對於客戶端來說,除去了與具體產品的依賴。2 簡單工廠模式的問題 新增需要生產的類時,需要修改類的 違背了開放 封閉原則。3 工廠方法模式 factory method 定義乙個用於建立物件的介面,讓子...