2015-05-20 24 views
5

w JavaScript, mogę drukować do konsoli debugowania przy użyciu
Jak echo do konsoli debugowania z php

console.log("Message here"); 

Jestem teraz napisanie skryptu php i chciałbyś wydrukować do konsoli debugowania. Korzystanie z powyższego kodu nie działa w php. Wygląda na to, że potrzebuję użyć albo echa, albo jakiegoś innego polecenia, ale potrzebuję wyjścia, aby pojawiło się w konsoli wyjściowej, a nie w oknie przeglądarki.

+3

Nie wiem, w jaki sposób echo do konsoli, ale na pewno można napisać do dziennika błędów, który byłby najlepszy. http://php.net/manual/en/function.error-log.php – Squeegy

+2

niemożliwe. php działa na serwerze i nie może "porozmawiać" z konsolą debugowania JS przeglądarki. w najlepszym wypadku PHP może zrobić coś takiego jak "echo" "', ale to nie php "logowanie", to php wyprowadzający kod JS, który wyzwala rejestrowanie. –

+1

możesz podać przykład tego, co chcesz wydrukować? –

Odpowiedz

20
<?php 
    echo '<script>console.log("Your stuff here")</script>'; 
?> 
+2

Działa! Ale w moim przypadku potrzebuję echo zmiennej, więc kod wygląda tak: 'echo '' '"; ' – OB7

+1

Co powiesz na tablicę? –

+3

'echo '';' to najlepszy sposób na wydrukowanie zmiennych, które myślę. – blackandorangecat

1
<?php echo "<script>console.log({$yourVariable})</script>"; ?> 
4

Jeśli uważasz, że masz zamiar wyjścia wiele w konsoli, należy napisać funkcję:

function debug($msg) { 
     $msg = str_replace('"', '\\"', $msg); // Escaping double quotes 
     echo "<script>console.log(\"$msg\")</script>"; 
} 

powinien uciec cytuje w swoim ciągiem, aby uniknąć błędów takich jak jeden w tym przykładzie:

<?php 
    $string = "Let's get something to eat"; 
    echo "<script>console.log('$string');</script>"; 

O mowa powyżej tablicy z @RobbNesp można użyć foreach pętlę, ale znaleźć to łatwiej dla mnie przeczytać i zrozumieć, używając funkcji json_encode z PHP.

Przykładem użycia może być:

$array = array ("foo", "bar", "baz"); 

debug(json_encode($array)); 

function debug($msg) { 
     $msg = str_replace('"', '\\"', $msg); 
     echo "<script>console.log(\"$msg\")</script>"; 
} 
0

Można też spróbować w ten sposób:

<?php 
    echo "<script>console.log('$variableName')</script>"; 
?> 
+0

Ale wtedy '$ zmiennaNazwa' nie może zawierać cudzysłowów ... musisz najpierw uciec przed nimi. sprawdź inne odpowiedzi –

0

Są znacznie lepsze sposoby, aby wydrukować wartości zmiennej w PHP. Jedną z nich jest użycie funkcji buildin var_dump(). Jeśli chcesz użyć funkcji var_dump(), proponuję zainstalować Xdebug (od https://xdebug.org), ponieważ generuje on znacznie czytelniejsze wydruki.

Pomysł drukowania wartości na konsoli przeglądarki jest nieco dziwny, ale jeśli naprawdę chcesz go użyć, istnieje bardzo przydatne rozszerzenie Google Chrome, PHP Console, które powinno zaspokoić wszystkie Twoje potrzeby. Możesz go znaleźć pod adresem consle.com Dobrze działa również w Vivaldi i Operze (do zainstalowania musisz mieć rozszerzenie "Pobierz rozszerzenie Chrome"). Rozszerzeniu towarzyszy biblioteka PHP, której używasz w swoim kodzie.

Powiązane problemy