我正在讨论将验证逻辑放入我的模型中(setter函数)。这是我应该使用单独的对象吗?以下是我的想法。
class Person {
private $name, $setErrors = [];
public function setName($name){
if(strlen($name) > 0){
$this->name = $name;
return true;
}
$this->setErrors[] = "Name must be at least one character";
return false;
}
public function getErrors(){
return $this->setErrors;
}
}
$person = new Person();
$person->setName("Bob");
if (count($person->getErrors()) > 0){
/* Return Errors To View */
}
答案 0 :(得分:0)
分离问题是最佳做法。
每个班级都应该承担一项责任。
此外,如果您将验证逻辑移动到一个单独的类中,它可以在多个字段上重复使用,更不用说更容易进行单元测试了。
class NameValidator
{
public function isValid($string) {
// Logic
}
}