码迷,mamicode.com
首页 > Web开发 > 详细

php设计模式

时间:2017-08-28 00:54:19      阅读:282      评论:0      收藏:0      [点我收藏+]

标签:var   hang   php   bsp   break   条件   str   func   cti   

设计模式
单例模式
1.将构造函数变成私有的
2.提供一个静态方法来返回对象
3.在方法里面加限制条件

class Ren{
    public $name;
    public static $dx;
    private function __construct(){    
    }
    public static function duixiang(){
        if(empty(Ren::$dx)){
            Ren::$dx = new Ren();
        }
        return Ren::$dx;
    }
}

$r = Ren::duixiang();
$r->name = "张三";
$r1 = Ren::duixiang();
var_dump($r1);

//工厂模式
/*class YunSuan{
    public $a;
    public $b;
    public function jia(){
        return $this->a+$this->b;
    }
    public function jian(){
        return $this->a-$this->b;
    }
    public function cheng(){
        return $this->a*$this->b;
    }
    public function chu(){
        return $this->a/$this->b;
    }
}*/
//做为父类
/*class YunSuan{
    public $a;
    public $b;
    public function suan(){
    }
}
class Jia extends YunSuan{
    public function suan(){
        return $this->a+$this->b;
    }
}
class Jian extends YunSuan{
    public function suan(){
        return $this->a-$this->b;
    }
}
class Yu extends YunSuan{
    public function suan(){
        return $this->a%$this->b;
    }
}
//工厂类
class GongChang{
    public static function duixiang($ysf){
        switch($ysf){
            case "+":
                return new Jia();
                break;
            case "-":
                return new Jian();
                break;
            case "%":
                return new Yu();
                break;
        }
    }
}

$y = GongChang::duixiang("-");
$y->a = 10;
$y->b = 5;
echo $y->suan();*/

php设计模式

标签:var   hang   php   bsp   break   条件   str   func   cti   

原文地址:http://www.cnblogs.com/sunzhenkun/p/7440785.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!