我开始按照规定的书籍学习PHP OOP,但它不是IMO最好的书籍,并且导致相当多的混乱,尤其是关于PHP类的部分。
考虑以下内容:
Class User{
function setName($newName)
{
$this->name = $newName;
}
function getName()
{
return $this->name;
}
}
该类没有构造方法:
因此,我的问题:
如果上面的类有一个属性$name
并且一个函数__construct重新呈现$name
var,那么是否需要创建setName()
方法?
如果是,何时构建构造方法是否合适?什么时候不是?作为一般的经验法则,我认为为所有类属性构建构造方法是正确的做法吗?
任何建议/帮助/参考赞赏。
答案 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
希望这会好起来!!