#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
, где вы бы использовали это.