Saltar al contenido

Como usar console.log en PHP

php console.log

La gente que trabaja con Javascript a la hora de desarrollar una aplicación tiene la ayuda de funciones como cosole.log para sacar resultados por la consola del navegador, en Python se puede usar la función print para imprimir por la consola del sistema. Pero en PHP que yo sepa no existe ninguna función parecida.

A continuación vamos a ver como pasar datos desde PHP a la consola de JavaScript. Hay varias formas, la primera es mas simple y la segunda es mas elaborada pero para mi es mas recomendable si la vas a usar en varios sitios de tu aplicación web.

Forma simple de pasar una variable PHP a la consola de JavaScript

Solo tienes que copiar este trozo de código y ponerlo en tu archivo PHP y cambiar $data por tu variable para pasar la variable por consola:
echo("<script>console.log('PHP: " . $data . "');</script>");

Función mas elaborada pasar una variable PHP a la consola de JavaScript

Ahora vamos a usar una función que nos haga un console.log de cualquier variable de PHP. Solo tienes que añadir esta función en tu PHP y llamarla cuando la necesites:

/**
 * Ayuda simple para depurar en la consola
 * 
 * @param  Array, Object, String $data
 * @return String
 */
function php_console_log( $data, $comment = NULL ) {	
    $output='';	
    if(is_string($comment))
        $output .= "<script>console.warn( '$comment' );";
    elseif($comment!=NULL)
        $comment==NULL;//Si se pasa algo que no sea un string se pone a NULL para que no de problemas
    if ( is_array( $data ) ) {
        if($comment==NULL)
            $output .= "<script>console.warn( 'Array PHP:' );";
        $output .= "console.log( '[" . implode( ',', $data) . "]' );</script>";
    } else if ( is_object( $data ) ) {
        $data    = var_export( $data, TRUE );
        $data    = explode( "\n", $data );
        if($comment==NULL)
            $output .= "<script>console.warn( 'Objeto PHP:' );";
        foreach( $data as $line ) {
            if ( trim( $line ) ) {
                $line    = addslashes( $line );
                $output .= "console.log( '{$line}' );";
            }
        }
        $output.="</script>";
    } else {
        if($comment==NULL)
            $output .= "<script>console.warn( 'Valor de variable PHP:' );";
        $output .= "console.log( '$data' );</script>";
    }
        
    echo $output;
}

Para llamarla tienes que hacerlo de la siguiente manera:

php_console_log($variable);

a veces nos interesa saber que variable es o mostrar un comentario de ella, con lo cual la podemos llamar de la siguiente forma:

php_console_log($variable, "Comentario opcional");

Con esta función pueden trabajar 3 tipos de variables

  • Una variables de tipo array
  • Una variables simples de tipo texto o numérica
  • Una variables de tipo objeto de una clase PHP con sus valores

Para ver el uso de esta función he creado un repositorio en Github donde doy varios ejemplos rellenando las variables con valores de frutas. Dando el siguiente resultado:

Espero que este artículo te haya servido de ayuda, si tienes alguna duda o sugerencia me la puedes poner en los comentarios.

Compartir este Articulo