У меня есть функция, которая находится внутри метода класса.
В методе я могу ссылаться на $this
, но я не могу в этой функции.Будет возвращена эта ошибка:
Неустранимая ошибка: использование $ this, когда не в контексте объекта в /var/www/john/app/views/users/view.ctp в строке 78
Вот пример того, что я имею в виду:
class View
{
var $property = 5;
function container()
{
echo $this->property;
function inner()
{
echo "<br/>Hello<br/>";
echo $this->property;
}
inner();
}
}
$v = new View();
$v->container();
Вы можете проверить это здесь pastie
Есть ли способ обойтизаставить это работать? Я знаю, что могу передать $ this в качестве параметра, но есть ли другой способ?Использование global $this
также приводит к ошибке.
Если вам интересно, зачем мне это нужно, то это потому, что мой метод - это представление в модели MVC (или, как мне кажется, я использую Cake), ив представлении мне нужно использовать функцию, а в функции мне нужно обратиться к $this
.