private function __construct() not working when class called on another page
本问题已经有最佳答案,请猛点这里访问。
我正在使用以下类型的类…
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | class datas{ protected $req ; protected $db ; private function __construct() { $this->db = new Database('localhost', 'user', 'pass', 'db'); $this->db->connect(); } public function prnt() { echo"afafa6e5f1ga56d18a1ge"; } } |
当我尝试访问类时
1 2 | $y = new datas(); $y->prnt(); |
Call to protected data::__construct() from invalid context
当我把它公之于众时,它起作用了。是否有任何方法可以使构造函数成为私有的,并且仍然像我一样具有调用方法?我在想哪一个更安全。
任何见解都会受到大家的赞赏。
您的构造函数应该是公共的,因为它是在类上下文之外调用的。
php可能会用
1 | $y = new data(); |
应该是
1 | $y = new datas(); |