我有一个用户模型,它有很多属性,如first_name,last_name,email,address,address2等
我正在编写一个php类来管理这些属性,但似乎我写了很多相同的代码 . (吸气者和二传手)我应该使用魔法来管理吗?这似乎是一个好主意,但我不希望设置不正确的属性 . 有任何想法吗?
<?php
class User
{
private $username;
private $email
private $first_name;
private $last_name;
private $address;
private $address2;
function __construct()
{
}
function getUsername()
{
return $this->username
}
function setUsername($username)
{
$this->username = $username;
}
...
}
?>
2 回答
除非你在输入上进行验证,否则在我看来,使用getter / setter是没有意义的 .
创建属性
public
,并使用魔术方法覆盖无效属性的getter / setter:首先,你不能使用公共 property 吗?
如果没有,你的属性在获取/设置时不需要任何逻辑,我会使用
__get
和__set
.如果你真的不想设置“不正确”的属性(为什么?),一个选项可能是使用可以设置的属性白名单: