单例模式的意思就是一个类只能实例出一个对象
class Ren
{
private function __conssteuct();
public static function DuiXiang() 生成对象,做成静态访问
{
return new Ren();
}
}
$r=Ren::DuiXiang; 虽然能生成对象,但是还是没有限制条件。
class Ren
{
private static $dx, 加入一个判断量。
private function __conssteuct();
public static function DuiXiang()
{
if(empty(self::$dx)
{
self::$dx= new Ren; 如果判断量为空,则新建一个对象,
}
return self::$dx; 如果不为空,则返回值为新建的那个对象。
}
}
。工厂模式
class yunsuan
{
public $a;
public $b;
function suan(){}
}
class jia extends yunsuan 用继承来写类名会比较多,但是扩展性比价好。
{
retuen $this->a +$this->b;
}
class jian extends yunsuan
{
retuen $this->a - $this->b;
}
工厂类
class Gongchang
{
function shengchan($f) $f 可以用运算符
{
switch ($f)
{
case "+"
return new jia();
case "-"
return new jian();
}
}
}
调用 Gongchang::shengchan(“+”)