Как получить доступ к переменной внутри функции без построения глобальной? - PullRequest
1 голос
/ 07 сентября 2011
<?php
declare(ticks=1);
function tick_handler()
{
print($GLOBALS['a']);
}
register_tick_function('tick_handler');


function test()
{
$a = 1;//This not print
$a = 2;//This not print
$a = 3;//This not print
$a = 4;//This not print
}
test();
$a = 1;//This print
$a = 2;//This print
$a = 3;//This print
$a = 4;//This print
?>

Как печатать // Это не печатать, но без глобальных $ a?

и без

function test()
{
$GLOBALS['a'] = 1;//This not print
$GLOBALS['a'] = 2;//This not print
$GLOBALS['a'] = 3;//This not print
$GLOBALS['a'] = 4;//This not print
}

1 Ответ

0 голосов
/ 07 сентября 2011

Я не уверен на 100%, что вы пытаетесь сделать, но

Например, в Joomla, чтобы изменить метку, предписанную в нижней части страницы внизу страницы для этого 1) Вы должны скачать скрипт дампа хостинга 2) Найти фрагмент кода html-скрипта, который находится рядом с 3) Чтобы исследовать поведение функции 4) Найти место HTML-кода обучения Это занимает пару часов, я просто нахожу с помощью $ globals и register_tick_function

звучит как .

Если вам нужно отладить ваше приложение и / или увидеть, какие функции и методы были вызваны, в каком порядке и с какими параметрами, то используйте подходящий отладчик:

См. https://stackoverflow.com/questions/1494288/good-free-php-debugger

Большое спасибо, но xdebug на hostmonster.com отключен

Вы не хотите отладить свой производственный сайт. Если вам нужно добавить дополнительные функции или применить изменения, сначала сделайте это на сервере разработки. Убедитесь, что он работает, затем разверните изменения на своем производственном сайте. Так что либо поместите XDebug на свой локальный компьютер, либо в виртуальную машину или что-то в этом роде. Или получите новый хостер для вашей среды разработки. В любом случае, поместите его там, где разработка и отладка не нарушат работу.

...