Ответы пользователя по тегу ООП
  • Как правильнее переопределить метод родительского класса?

    @HaveFun
    Если есть необязательные параметры или претенденты на это звание, то размещать их нужно справа. Тогда можно использовать такой вариант:

    abstract class GlobalClass {
        ...
        protected function isExists($value, $field) {
            return $this->db->isExists($this->table_name, $field, $value);
        }
    }
    ...
    class User extends GlobalClass {
        ...
        public function isExists($value, $field=null) {
            $field = 'login';
            return parent::isExists($value, $field);
        }
    }


    Менять порядок обязательных параметров слева не стоит. Если он у родителя первый, то и у потомка должен быть первым.

    И судя по
    public function isExists($login) {
    		return $this->isExists("login", $login);
    	}
    следующей ошибкой будет Maximum function nesting level. Используйте parent.
    Ответ написан
    Комментировать