PHP用例场景何时应该使用函数构造
我开始按照一本规定的书学习PHP OOP,但是在我看来,这不是最好的书,尤其是关于PHP类的部分,会导致相当多的混乱 考虑以下情况:PHP用例场景何时应该使用函数构造,php,oop,Php,Oop,我开始按照一本规定的书学习PHP OOP,但是在我看来,这不是最好的书,尤其是关于PHP类的部分,会导致相当多的混乱 考虑以下情况: Class User{ function setName($newName) { $this->name = $newName; } function getName() { return $this->name;
Class User{
function setName($newName)
{
$this->name = $newName;
}
function getName()
{
return $this->name;
}
}
该类没有构造方法:
因此,我的问题是:
$name
和一个引用$name
变量的函数构造,那么是否有必要创建setName()
方法任何建议/帮助/推荐都将不胜感激 有两种场景可以使用setName和_构造 1-当您创建一个类的对象并想要初始化该类时,应该使用默认参数初始化该类,然后使用_构造方法
$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
希望这是heps 有两种场景可以使用setName和_构造 1-当您创建一个类的对象并想要初始化该类时,应该使用默认参数初始化该类,然后使用_构造方法
$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
希望这是heps 即使您将
$name
传递到构造函数中,您仍然希望这些方法操作name值,而不是使用您无法控制的公共属性。是的,您可以创建\u构造($name)
来设置$name(或者让\u构造()
调用setName()
内部执行此操作)。通常,如果要设置类的某些初始状态,则需要_construct()。是否需要setName()
方法取决于将来是否需要修改$name。即使将$name
传入构造函数,您仍然希望这些方法操作name值,而不是使用您无法控制的公共属性。是,您可以创建一个\u构造($name)
来设置$name(或者让\u构造()
在内部调用setName()
)。通常,如果要设置类的某些初始状态,则需要_construct()。是否需要setName()
方法取决于将来是否需要修改$name。