在没有参数的情况下调用参数化构造函数会抛出错误?

时间:2014-12-15 16:09:33

标签: php oop

我在php中有这样的类

class database 

 var $db;
{

       function ___constructor($db)
            {
                $this->db= $db;

               }



}

现在我这样称呼它

$obj = new database();

它的投掷错误如何解决这个问题?

它假设自动调用默认构造函数。当我没有传递任何价值。

2 个答案:

答案 0 :(得分:3)

会发生这种情况,因为您在使用$db打开课程之前添加了{

像这样使用:

class database {
    var $db; //Comes here
    function __construct($db) {
        $this->db = $db;
    }
}

<强>更新

请注意,请参阅此答案下面的评论。

答案 1 :(得分:2)

您当前的构造函数需要传递参数。您需要在方法定义中为参数提供默认值。

   function __construct($db='default') {
        $this->db = $db;
    }

你的括号也错了。 var $db不在类定义中。我非常确定无法正确解析。在班级名称

之后将开始括号移到右侧
class database{
...
}

看起来你在构造函数名称中有太多下划线它应该有2 __construct