Er det muligt at skrive en streng eller logge i konsollen?
Ligesom i JSP, hvis vi udskriver noget som system.out.println("some")
, vil det være der på konsollen, ikke på en side.
Eller du kan bruge tricket fra PHP Debug to console.
Først skal du bruge en lille PHP-hjælpefunktion
function debug_to_console($data) {
$output = $data;
if (is_array($output))
$output = implode(',', $output);
echo "<script>console.log('Debug Objects: " . $output . "' );</script>";
}
Derefter kan du bruge den som følger:
debug_to_console("Test");
Dette vil skabe et output som dette:
Debug Objects: Test
Firefox
I Firefox kan du bruge en udvidelse kaldet FirePHP, som gør det muligt at logge og dumpe oplysninger fra dine PHP-programmer til konsollen. Dette er en tilføjelse til den fantastiske webudviklingsudvidelse Firebug.
Chrome
Men hvis du bruger Chrome, er der et PHP-fejlfindingsværktøj kaldet Chrome Logger eller webug (webug har problemer med rækkefølgen af logs).
Senest er Clockwork under aktiv udvikling, som udvider Developer Tools med et nyt panel, der giver nyttige debugging- og profileringsoplysninger. Det giver out of the box support for Laravel 46 og Slim 2, og der kan tilføjes support via dets udvidelige API.
Anvendelse af Xdebug
En bedre måde at debugge din PHP på ville være via Xdebug. De fleste browsere indeholder hjælpeudvidelser, der hjælper dig med at sende den nødvendige cookie/forespørgselsstreng for at initialisere debuggingprocessen.
Som standard går alt output til stdout
, hvilket er HTTP-svaret eller konsollen, afhængigt af om scriptet køres af Apache eller manuelt på kommandolinjen. Men du kan bruge error_log
til logning, og forskellige I/O-strømme kan skrives til med fwrite
.