-1
我想知道什麼是最好的做法/建議在這裏。假設我有一個提供操縱XMLElement的函數的類。應該在哪裏參數驗證發生,以避免重複代碼
class Foo
{
private $data;
public function setData(\SimpleXMLElement $data): void
{
$this->data = $data;
}
public function getElement():string
{
return $this->data->element;
}
}
類是在其他類中使用像這樣:
class Bar
{
public function fooBar(string $data)
{
$xml = new \SimpleXMLElement($data);
$foo = new Foo();
$foo->setData($xml);
echo $foo->getElement();
}
}
都應該setData()
和fooBar()
驗證其參數?
還是確定如果只fooBar()
驗證它的參數?
還是應該調用foobar()
功能驗證其參數?
,使用戶類將完全依賴EmailAddress的類做驗證? – dev0
這個想法是,你只能創建一個有效的'EmailAddress'實體。如果您嘗試製作無效的文件,則會引發異常。歸結起來就是:驗證電子郵件地址不是**用戶實體的責任。這是和外部*問題域*。 –