PHP用例情节应该何时使用函数__construct

时间:2017-04-11 02:51:28

标签: php oop

我开始按照规定的书籍学习PHP OOP,但它不是IMO最好的书籍,并且导致相当多的混乱,尤其是关于PHP类的部分。

考虑以下内容:

     Class User{

    function setName($newName)
        {
            $this->name = $newName;
        }

        function getName()
        {
            return $this->name;
        }
}

该类没有构造方法:

因此,我的问题:

  1. 如果上面的类有一个属性$name并且一个函数__construct重新呈现$name var,那么是否需要创建setName()方法?

    < / LI>
  2. 如果是,何时构建构造方法是否合适?什么时候不是?作为一般的经验法则,我认为为所有类属性构建构造方法是正确的做法吗?

  3. 任何建议/帮助/参考赞赏。

1 个答案:

答案 0 :(得分:0)

有两种情况可以使用setName和__construct。

1 - 创建类的对象时,如果要使用default参数初始化类,则使用__construct方法。

$obj = new UserName('john'); 

以上方法不能多次使用。因此,每当setName出现在图片中时,您需要一种可以在不创建对象的情况下更改名称的方法。

2 - setName是在需要时重新初始化name属性的方法。

  $obj = new UserName('john'); //1st step
  echo $obj->getName(); //john displays
  //may be some sql query that gets name from db
  $obj->setName('david'); //here you cannot re-instantiate the object to set the name using construct method.
  $obj->getName(); //david displays

希望这会好起来!!