Использование $ this из функции

#php #oop

#php #ооп

Вопрос:

У меня есть документ, который можно использовать $this для доступа к определенным фрагментам информации. Внутри этого документа есть функция, к которой невозможно получить доступ $this (выдает ошибку о том, что она не находится внутри объекта).

Есть ли какой-либо способ разрешить ему доступ к $this , чтобы я мог запускать методы класса из функции?

Я пытался использовать глобальные переменные, но безрезультатно.

Комментарии:

1. Передайте его функции в качестве аргумента.

2. Конечно, понятия не имею, почему я не понял. Приветствия!

Ответ №1:

Если функция определена вне класса, вы можете передать экземпляр объекта и использовать его.

Например:

 class A
{
    public function B()
    {
        echo "C";
    }
}

function D($obj)
{
    echo $obj->B();
}
  

Комментарии:

1. Спасибо, это идеально. Хотя должен был сам это понять. (Я полагаю, поздней ночью!)

2. Подойдет .. но, по-видимому, мне придется подождать несколько минут 🙂

Ответ №2:

Перепишите функцию так, чтобы она ожидала дополнительный параметр. Передать $this в качестве аргумента этой функции

Ответ №3:

Предполагая, что функция является частью класса, для которого вы пытаетесь получить свойство use self , где вы бы использовали это.