Вопрос

Я хотел бы зарегистрировать некоторые переменные, такие как $mageRunCode Прежде чем он попадет:

Mage::run($mageRunCode, $mageRunType);

Оказывается, что Mage::log И даже предприятие Zend, похоже, не выходит на произвольный вывод файла здесь. Как это сделать правильно?

Это было полезно?

Решение

Любая конкретная причина, по которой вы должны сделать это до того, как Mage :: run вызовет в index.php? Вы обеспокоены, что они изменяются?

Попытка войти в систему в этот момент потребует от корректировки файла Core (index.php), что не является хорошей практикой.

Некоторый поток:

В маге :: запустите, вы получаете:

self::$_app->run(array(
                'scope_code' => $code,
                'scope_type' => $type,
                'options'    => $options,
            ));

Переменные, которые вас интересуют, на данный момент не изменяются.

в mage_core_model_app :: запустить, вы получите эту строку кода:

Mage::register('application_params', $params);

Таким образом, внутренние внутренности Magento прекрасно сохраняют параметры, используемые для вас в реестре.

Чтобы регистрировать их, вы можете использовать событие «Controller_Front_init_before», которое является одним из самых ранних (пригодных) событий, запущенных.

В этом случае вы можете вытащить сохраненные параметры и записать их.

$params = mage::registry('application_params');

Отметьте, что это позволит поставить радикальные накладные расходы на производительность ваших сайтов, так как он будет включать каждый запрос. Любопытно, почему вам нужно их записать?

Самое раннее полезное событие

Другие советы

Я предполагаю, что вы пытаетесь войти в систему в режиме разработчика/локальную среду, и вы хотите возиться.

Если вы хотите войти в Magento в пользовательский файл журнала, вы можете использовать

Mage::log($myVariable, null, 'myVariable.log');

Для этого вам необходимо включить регистрацию в бэкэнде администратора. Это зарегистрирует вещи, чтобы magento_root/var/log/myVariable.log

Совет: вы также можете распечатать всю Backtrace (для некоторого другого глубоко уложенного кода), используя

Mage::log(Varien_Debug::backtrace(true, true), null, 'backtrace.log');

Преимущество печати всей Backtrace заключается в том, что вы можете увидеть точный метод/XML -поток, который ваш вызов следует, чтобы достичь этой точки в выполнении, где угодно в коде PHP. Конечно, это вызывает результат magento_root/var/log/backtrace.log

Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top