Идея здесь заключается в создании метода ведения журналов и отладки, который не требует передачи упомянутого метода связанным «магическим константам».Есть ли способ перенести магическую константу PHP как функцию по умолчанию?
Эффективно, я пытаюсь добиться этого, используя определение метода следующим образом:
function Debug($Message,$File=__FILE__,$Line=__LINE__)
{
...
}
Проблема Я бегу в к тому, что если я определяю вышеупомянутый метод в файле, кроме одного I am 'debugging', я получаю файл и строку из файла, в котором метод определен, а не тот, который я «отлаживаю».
Рассмотрим следующий набор файлов:
Debugging.php
<?
function Debug($Message,$File=__FILE__,$Line=__LINE__)
{
echo("$File ($Line) :: $Message");
}
?>
Testing.php
<?
Debug("Some message");
?>
Выход:
Debugging.php (1) :: Some message
Когда вызов Сообщ e произошло во втором файле, что, как должно быть ясно, к этому моменту, не является предполагаемой реализацией. Я мог бы, конечно, передать метод «Отладки» те магические константы во время вызова, но я стараюсь, если это возможно, устранить ненужный код.
Для этого используется 'debug_stack_trace'. Почему вы не можете использовать это? – Machavity
Я полагаю, что это разумное решение, если я хочу потреблять тонну циклов, анализируя его каждый раз, когда я отправляю сообщение ... – DigitalJedi805