为了账号安全,请及时绑定邮箱和手机立即绑定

调用单例模式一个属性而引发文件不存在报错!

老师为什么我在一个定里定义一个属性,而我调用的时候说我没有引入这个文件,我就很奇怪!

报错信息Warning:  require(/var/www/Project/PRS/Index/conf.php): failed to open stream: No such file or directory in /var/www/Project/PRS/Index/Loader.php on line 13


我在你的单例模式里的构造方法写了一些内容

private function __construct(){
   //在外部调用Database::getInstance();的时候它首先会判断自己是否已经实例,如果没有它将会走这一步把自己给实例化存放在conf属性里面去
   $this->conf = conf::getInstance();
}


我觉得这个内容不足以让它报错,而且是没有道理的报错,只要我报这个屏掉,就不会报错,请问什么原因呢!

正在回答

1 回答

需要将$this->conf 修改成一个static $conf,单例的对象是保存在类静态属性中的。

0 回复 有任何疑惑可以回复我~
#1

带鞋拖地 提问者

还是依然报错! 这是我以前写的单例模式的数据库 protected function __construct() { $this->conf = conf::getIns(); $this->connect($this->conf->host,$this->conf->user,$this->conf->pwd); $this->select_db($this->conf->db); $this->setChar($this->conf->char); }
2014-12-10 回复 有任何疑惑可以回复我~
#2

带鞋拖地 提问者

我想不通的是为什么我类里的一个私有属性会当作一个文件来寻找! 以前写的单例模式 public static function getIns() { if(!(self::$ins instanceof self)) { self::$ins = new self(); } return self::$ins; }
2014-12-10 回复 有任何疑惑可以回复我~
#3

带鞋拖地 提问者

我就觉得好像这样写后在__construct里面我要做些初始化不行了样,是不是我以前写的太烂还是这种方法太高级了呢!
2014-12-10 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

调用单例模式一个属性而引发文件不存在报错!

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信