Задать вопрос

Как вызвать метод в ООП?

есть класс User для работы с авторизацией.
есть статичный метод isAuthorized, который можно вызывать из любого участка проекта через User::isAuthorized();
Внутри этого статического метода есть служебный метод для проверки пользователя в БД :
if(self::checkIdIndb($user))
Этот метод будет работать только внутри класса. по этому ему нужно поставить PRIVATE
Но тут загвоздка в том, что когда ставлю PRIVATE , то перестает работать self::checkIdIndb , и перестает работать $this->checkIdIndb.

ВОПРОС:
Подскажите пожалуйста, как правильно вызывать приватные методы и свойства из статичных методов?
etSMz60b.png
  • Вопрос задан
  • 159 просмотров
Подписаться 1 Оценить 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
27cm
@27cm
TODO: Написать статус
Значит вы метод пытаетесь вызвать где-то ещё: или вне класса, или в его наследнике.

В том коде, что вы показали, если поменять public на private у checkIdIndb, всё должно работать. Если не работает - значит должна быть ошибка. Она есть?

...и перестает работать $this->checkIdIndb.

Зачем вы вообще статический метод вызываете через $this?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
IT ATLAS Москва
от 250 000 до 500 000 ₽