问答详情
源自:5-3 [php]单例模式

单列设计模式

哪个地方有错误?谢谢

#处理用户登入

class LoginAction extends Action{

#保存链接对像

public static $userConten;

/*public function __construct(){

$this->userConten = new LoginModel();

}*/

#处理用户登入请求

public function userLogin(){

#用户名

$userName = $_POST['userName'];

#用户密码

$userPassd = $_POST['userPassd'];

#登入验证

   $userObj = self::content();

   $boole = $userObj->userlogin($userName, $userPasd);

   

}

#处理用户注册

public function userRegs(){

      

#用户昵称

$userName = $_POST['userName'];

#用户注册密码

$userPassd = $_POST['userPassd'];

#用户注册验证

   $userObj = self::content();

   $boole = $userObj->userRegs($userName, $userPasd);

}

#单列设计模式

public static function content(){

if(self::$userConten==''){

  self::$userConten = new LoginModel();

  return self::$userConten;

}else{

return self::$userConten;

}

}

}


提问者:5688888888 2015-10-24 17:16

个回答

  • 乔帮主
    2015-10-24 21:30:01

    public static function getInstance(){

    if(!(self::$_instance instanceof self)){

    self::$_instance = new self;

    }

    return self::$_instance;

    }

    单例的实现是这样的,你看下!对了,你的代码报什么错呢?

  • 一曲幽魂付衷情
    2015-10-24 17:41:31

    单例模式

  • 一曲幽魂付衷情
    2015-10-24 17:41:00

    我没仔细看 但是根据java中但单例模式  需要把构造函数私有化 还有既然私有化了构造函数  又要得到一个单例那么类中就要存在一个静态的了单例   就是你所写的 static Content 但是 我们一般用静态方法来获得它  所以一般这个内部静态单例是私有化的   我查了一下 有人说要重写clone方法  防止被复制 

    参考

    http://blog.sina.com.cn/s/blog_6dbbafe001018w7r.html