pedrotuga Posted December 22, 2006 at 12:05 PM Report #71906 Posted December 22, 2006 at 12:05 PM A função print_r é das coisas mais práticas alguma vez inventadas no que diz respeito a debugging. No entanto, como a esmagadora maioria dos programadores de php enviam o output para uma página HTML que em geral abrem com um browser, o facto de o html não interpretar as quebras de linha torna o seu output pouco cómodo de se ler. Um wraperzinho com as tags <pre> do html resolve o problema 😞.. e para quê etar a escrever a mesma coisa vezes sem conta no mesmo script? function print_r2($var){ echo "<pre>"; print_r($var); echo "</pre>"; }
karva Posted December 22, 2006 at 12:06 PM Report #71907 Posted December 22, 2006 at 12:06 PM Bem pensado 😞 Proud LEIC-A@IST student!
Bruno Posted December 22, 2006 at 12:52 PM Report #71912 Posted December 22, 2006 at 12:52 PM O que eu costumo usar é mto mais bonito: //Funcao responsavel por imprimir qualquer variavel (objecto, array, ...) de modo simples e eficaz para debug function debug($var) { echo "<pre>"; print_r($var); echo "</pre>"; } Eheh, jk 😞 Já agora, outro que uso: //Recebe um texto e passa-o ao javascript function js($text) { echo(" <script type=\"text/javascript\"> $text </script>"); } E por fim outro: function dbquery($sql) { if(!($res = mysql_query($sql))) { echo "<br><br>A seguinte query produziu um erro: $sql<br>"; echo mysql_error(); echo "<br>Avise o administrador deste erro<br><br>"; exit(); } return $res; } Tenho mais alguns caso queiram é só dizer 😄
Gurzi Posted December 22, 2006 at 01:06 PM Report #71915 Posted December 22, 2006 at 01:06 PM Porque dizem que o print_r é bom para debug ? Um wrapper é o que ?
marinheiro Posted December 22, 2006 at 01:46 PM Report #71920 Posted December 22, 2006 at 01:46 PM um wrapper é qualquer coisa que envolve outra... em programação, qualquer comando que tenha "tag" de abertura, o código em si e depois a "tag" de fecho, "envolvendo" o código, como é o caso do <pre>......</pre>, <div>.....</div>, <td>...</td>, etc, em que o código a executar fica envolvido pelas "tags" de abertura e fecho... há 10 tipos de pessoas: as que sabem binário e as que não sabem... todas as nossas vidas não passam de release candidates... com o aperfeiçoamento, um dia chegaremos à versão final..
Gurzi Posted December 22, 2006 at 02:02 PM Report #71923 Posted December 22, 2006 at 02:02 PM Pois mas não percebi qual a boa utilização do print_r visto que ele devolve algo assim: Array ( [0] => Tiago [1] => Miguel [2] => Ferreira [3] => Palhota )
marinheiro Posted December 22, 2006 at 02:29 PM Report #71929 Posted December 22, 2006 at 02:29 PM o print_r() permite-te visualizar o conteudo completo de qualquer variável, mas é mais utilizado para verificar o conteudo de arrays... se for uma string ou um float, por exemplo, o que te mostra é o valor da variável, como se fizesses echo... se for um array, mostra-te os valores dentro de cada indice, na sua totalidade, inclusivé se tiveres arrays dentro de um dos indices... ex: Array { [a] => php => codigo [c] => Array { [0] => funções [1] => variáveis [2] => snippets { [d] => html [e] => javascript { experimenta a fazer echo ao array e vê o resultado 😞 há 10 tipos de pessoas: as que sabem binário e as que não sabem... todas as nossas vidas não passam de release candidates... com o aperfeiçoamento, um dia chegaremos à versão final..
Gurzi Posted December 22, 2006 at 02:42 PM Report #71933 Posted December 22, 2006 at 02:42 PM sim foi o que eu fiz em cima, mas não vou fazer output para o utilizador com o print_r, a aparecer o 0 o 1 e o 2
jreis Posted December 22, 2006 at 02:54 PM Report #71938 Posted December 22, 2006 at 02:54 PM Não, para o utilizador não fazes nada disso, dá imenso jeito para debugging, quando alguma coisa tá a correr mal e precisas de saber o conteúdo de uma variável, por exemplo. Particularmente útil para ver o estado das variáveis $_POST e $_SESSION, por exemplo, embora eu costuma usar o var_dump(), que para além do conteúdo das variáveis mostra também o tipo (integer, string, array, etc.) e comprimento das mesmas. "Pensa positivo: tudo pode piorar"
kingless Posted December 22, 2006 at 03:19 PM Report #71945 Posted December 22, 2006 at 03:19 PM Já conhecia isso 😞 já utilizo o <pre></pre> desde junho deste ano 😄 E ja utilizei em alguns scripts que postei aqui no p@p.
pedrotuga Posted December 22, 2006 at 04:57 PM Author Report #71963 Posted December 22, 2006 at 04:57 PM Kingless, isto não é nada de novo.
kingless Posted December 22, 2006 at 06:02 PM Report #71991 Posted December 22, 2006 at 06:02 PM Kingless, isto não é nada de novo. Claro.. 😞 Mas para alguns pode ser novo...
djthyrax Posted December 22, 2006 at 08:38 PM Report #72034 Posted December 22, 2006 at 08:38 PM print_r? o var_dump é-me mais "conviniente" (mania 😉) 😉 echo "<pre>"; var_dump($me); echo "</pre>"; Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now