Como posso escrever para o console em PHP?

É possível escrever uma string ou entrar na consola?

O que eu quero dizer

Assim como no JSP, se imprimirmos algo como system.out.println("some"), ele estará lá no console, não em uma página.

Ou você usa o truque de PHP Debug para console.

Primeiro você precisa de uma pequena função de ajuda do PHP

function debug_to_console($data) {
    $output = $data;
    if (is_array($output))
        $output = implode(',', $output);

    echo "<script>console.log('Debug Objects: " . $output . "' );</script>";
}

Então podes usá-lo assim:

debug_to_console("Test");

Isto irá criar uma saída como esta:

Debug Objects: Test
Comentários (13)
Solução

Firefox

No Firefox você pode usar uma extensão chamada FirePHP que permite o registro e o despejo de informações de suas aplicações PHP para o console. Esta é uma adição à fantástica extensão de desenvolvimento web Firebug.

Cromo

Entretanto, se você estiver usando o Chrome, há uma ferramenta de depuração PHP chamada Chrome Logger ou webug (o webug tem problemas com a ordem dos logs).

Mais recentemente Clockwork está em desenvolvimento ativo, o que estende as Ferramentas do Desenvolvedor adicionando um novo painel para fornecer informações úteis de depuração e criação de perfil. Ele fornece suporte fora da caixa para Laravel 4 e Slim 2 e o suporte pode ser adicionado através de sua API expansível.

Usando Xdebug

Uma melhor maneira de depurar seu PHP seria via Xdebug. A maioria dos navegadores fornecem extensões de ajuda para ajudá-lo a passar a seqüência de cookies/cadernos necessários para inicializar o processo de depuração.

Comentários (9)

Por padrão, toda a saída vai para stdout', que é a resposta HTTP ou o console, dependendo se seu script é executado pelo Apache ou manualmente na linha de comando. Mas você pode utilizar [error_log](http://php.net/manual/en/function.error-log.php) para fazer o log e [vários streams I/O](http://php.net/manual/en/wrappers.php.php) pode ser escrito com [fwrite`](http://php.net/fwrite).

Comentários (1)