Я работаю над плагином для короткого кода WordPress, поэтому мне нужно определить функцию для использования с add_action('wp_footer', 'fnc_name')
, например. Я создал плагин как класс с публичными функциями и статическими переменными.Как использовать переменную функции класса в локальной функции
Вот пример того, что я пытаюсь сделать (использование $count
в локальной функции tryToGetIt
):
class Test {
public static $count;
public function now() {
if (!$this::$count) {
$this::$count = 0;
}
$this::$count++;
$count = (string) $this::$count;
echo 'count should be '.$count;
function tryToGetIt() {
global $count;
echo 'count is '.$count;
}
tryToGetIt();
}
};
$test = new Test();
$test->now();
Вы можете увидеть демо на IDEONE: http://ideone.com/JMGIFr
Выход «счетчик должно быть 1 count is ';
Как вы можете видеть, я попытался объявить переменную $count
с помощью global
, чтобы использовать переменную из внешней функции, но это не работает. Я также пробовал $self = clone $this
и использовал global $self
в локальной функции.
Как локальная функция может использовать переменные из публичной функции класса?
Интересно, почему вы планируете использовать «вложенную» функцию, это не очевидно, что вы получаете от нее. – birgire
Попытка определить функцию для использования с WordPress 'add_action' – bozdoz