Да, это правильный подход, хотя ваш синтаксис в несовершенном:
if (validateName($name)) {
должен быть таким:
if ($this->validateName($name)) {
Но если это область применения архитектуры, почему бы и нетпросто определить абстрактный setName()
, который проверяет и устанавливает его?Например:
interface Parent {
public function setName($name);
}
class Child implements Parent {
public function setName($name) {
if (/* $name is valid */) {
$this->_name = $name;
} else {
// error message
}
}
}
Конечно, я использую здесь интерфейс, потому что в Parent нет кода.
Но, пожалуйста, поймите, это зависит от того, как структурирована ваша программа.Мне нужно было бы увидеть хотя бы диаграмму архитектуры программы, чтобы сказать однозначно.