За последние 24 часа нас посетили 35097 программистов и 1737 роботов. Сейчас ищут 763 программиста ...

Call to protected method

Тема в разделе "PHP для новичков", создана пользователем Sasha55555, 29 июл 2018.

  1. Sasha55555

    Sasha55555 Новичок

    С нами с:
    18 мар 2018
    Сообщения:
    152
    Симпатии:
    0
    Помогите, есть функция, и при ее вызове ошибка
    Fatal error: Call to protected method test\World::removePlayer()

    Код (Text):
    1.  
    2.                 $this->server->removePlayer($player);
    Функция, которая вызывается - называется protected function removePlayer($player)
     
  2. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    а перевести? Исправь на public / public static вдруг заработает.
     
  3. Sasha55555

    Sasha55555 Новичок

    С нами с:
    18 мар 2018
    Сообщения:
    152
    Симпатии:
    0
    Тут ошибки начинают валится Notice: Undefined variable: arguments in, а почему нельзя защищенную использовать
     
  4. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    Вот потому и нельзя. Там внутри класса еще какие то переменные инициализируются без которых он не может работать. Но там явно есть и публичный метод который дергает этот.
     
  5. Sasha55555

    Sasha55555 Новичок

    С нами с:
    18 мар 2018
    Сообщения:
    152
    Симпатии:
    0
    А вот в этой функции вызывается без проблем private function kickPlayer($player, $arguments) {
     
  6. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    Ну видимо не правильно вызываешь. По первой ошибке вызывается как статик. Хотя может компилятор всегда так пишет.
     
  7. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.598
    Симпатии:
    1.764
    Компилятор всегда так пишет