-
原型模式,只需實(shí)例化一次,從而節(jié)省內(nèi)存開銷。
$prototype = new IMooc\Canvas();
$prototype->init(); 初始化方法。
$canvas1= clone $prototype;
$canvas2 = clone $prototype;
通過(guò)引用clone的方式。
查看全部 -
<?php
$stack = new SplStack(); //堆棧模式
$stack->push("aaa");
$stack->push("bbb");
// echo $stack->pop();
// echo $stack->pop();
$queue = new SplQueue(); //隊(duì)列
$queue->enqueue('aaa');
$queue->enqueue('bbb');
// echo $queue->dequeue();
// echo $queue->dequeue();
$heap = new SplMinHeap(); //入棧
$heap->insert('aaa');
$heap->insert('bbb');
// echo $heap->extract();
// echo $heap->extract();
$array = new SplFixedArray(10); //數(shù)組
$array[0] = 'aaa';
$array[9] = 'zzz';
// print_r($array);
//PHP 鏈?zhǔn)讲僮?$dbModel->file()->where()->order()->limit();
//方法最后加 return $this;
class StringHelper?
{
? private $value;
? function __construct($value)
? {
? ? $this->value = $value;
? }
? function __call($function, $args){
? ? array_unshift($args, $this->value);
? ? $this->value = call_user_func_array($function, $args);
? ? return $this;
? }
? function strlen() {
? ? return strlen($this->value);
? }
}
$str = new StringHelper("xxx");
echo $str->trim('0')->strlen();
?>
查看全部 -
自動(dòng)加載類
function? autolod($class){
require __DIR__.'/'.$class.'.php';
}
spl_autoload_register('autoload');
查看全部 -
easy php查看全部
-
protected $db;? ?//申明一個(gè)保護(hù)屬性
private function __construct()
{
//構(gòu)造一個(gè)私有方法
}
static function getInstance()? ? ?//?getInstance 獲取實(shí)例
{
if(self::$db){
????return self::$db;
}else{
????self::$db = new self();
????return self::$db
}
}
查看全部 -
工廠模式 單例模式查看全部
-
__set,__get 設(shè)置或者獲取不存在的屬性 __call,__callStatic 調(diào)用不存在的方法或類的方法 __toString 把類當(dāng)字符串使用 __invoke 把類當(dāng)函數(shù)使用查看全部
-
__autoload()函數(shù)已經(jīng)廢棄查看全部
-
設(shè)計(jì)模式跟語(yǔ)言沒關(guān)系,是一種思想查看全部
-
開發(fā)符合psr-0規(guī)范的基礎(chǔ)框架
查看全部 -
裝飾器(Decorator),可以動(dòng)態(tài)地添加修改類的功能
一個(gè)類提供了一項(xiàng)功能,如果要在修改并添加額外的功能,傳統(tǒng)的編程模式,需要寫一個(gè)子類繼承它,并重新實(shí)現(xiàn)類的方法
使用裝飾器模式,僅需要在運(yùn)行時(shí)添加一個(gè)裝飾器對(duì)象即可實(shí)現(xiàn),可以實(shí)現(xiàn)最大的靈活性
查看全部 -
在本案例中index.php中的Page類即使用策略的環(huán)境,它在解決某個(gè)問(wèn)題(即實(shí)現(xiàn)某個(gè)方法)時(shí)可以采用多種策略。在環(huán)境類中維持一個(gè)對(duì)抽象策略類的引用實(shí)例,用于定義所采用的策略。
UserStrategey即抽象策略類,它為所支持的算法聲明了抽象方法,是所有策略類的父類,它可以是抽象類或具體類,也可以是接口。環(huán)境類通過(guò)抽象策略類中聲明的方法在運(yùn)行時(shí)調(diào)用具體策略類中實(shí)現(xiàn)的算法。
FemaleUserStrategy和MaleUserStrategy是具體的策略類,它實(shí)現(xiàn)了在抽象策略類中聲明的算法,在運(yùn)行時(shí),具體策略類將覆蓋在環(huán)境類中定義的抽象策略類對(duì)象,使用一種具體的算法實(shí)現(xiàn)某個(gè)業(yè)務(wù)處理。
查看全部 -
工廠模式獲取對(duì)象
查看全部 -
定義代理類
查看全部 -
入口文件調(diào)用代理
查看全部
舉報(bào)