super misto cand o sa se schimbe regulile de validare. si o sa ai si metode de genul setPersonName, setPersonAge, setPersonFullName, etc.
ps: early return il folosesti cand trebuie. o validare de genul asta e fix “cand sa nu-l folosesti”. genul de exemplu pe care-l vezi prin articole de genul “why php sucks”
Din punctul meu de vedere o metoda ori face ce trebuie ori arunca exceptie, altfel incalci single responsability + o sa ai probleme atat cu type hint cat si un cod plin de if-uri.
Spre exemplu
public function setPerson($fname, $lname, $age)
Ar trebui sa arate asa:
public function setPerson(string $fname, string $lname, int $age): void
Si ori seteaza persoana ori arunca o exceptie
Din contra, extinderea clasei iti va permite sa testezi mult mai usor si sa descoperi buguri ascunse mai usor
nu vad sa fie nici buna nici rea. depinde de scenariu. n-am urmatit toata prezentarea, am cautat mai mult sa vad unde spune ca nu-i bine sa folosesti pe campuri separate. n-am gasit. in mare parte vorbeste de programatori care au impresia ca un nume e format din minim 3 caractere. si aici are dreptate.
ps: in exemplul ala (banuiesc scris la repezeala) tie ti-a sarit in ochi faptul ca numele si prenumele sunt campuri diferite?