Alguem me explica?

Luis Filipe Costa Carvalho

Eu sou da parte do desenvolvimento aqui da empresa e hoje encontrei um sinônimo de inteligência, uma obra prima de simplicidade e astúcia na hora de programar. Eu encontrei isso:

[b style='font-weight: normal;'][/b]

Não é possível. Como é que alguém escreve uma coisa dessas? Como diz um colega de trabalho, eu cortei salcinha na tábua dos 10 mandamentos para fazer churrasco na semana santa.

Assuntos Aleatórios, Cotidiano, Desenvolvimento, Leu? Comente! 14 Comentários

Limpando evento no jQuery

Luis Filipe Costa Carvalho

Quem usa o famoso framework jQuery sabe que com ele nós podemos controlar quase tudo de um objeto. Hoje eu vou falar da forma com que ele manipula os eventos.

Para setar o evento onclick, usando este framework, a sintaxe é a seguinte:

$(obj).click(function(){
//Faz o que você quer
});

só que, e se precisarmos altera-lo?
Pow… Fácil. É só usar esta função de novo.


$(obj).click(function(){
//Faz o que você quer2
});

Ai que esta o X da questão. o jQuery soma as ações então o evento onclick vai fazer as duas coisas.
Hummm… E agora?

Descobri um comando, disponibilizado pelo próprio framework, que limpa este evento, assim como todos os outros que você quiser.


$(obj).unbind('click');

=)

Mais informações na API do jQuery

Aprovado!, Desenvolvimento, Interessante, Leu? Comente!, jQuery 3 Comentários

Como nasce um artista

Luis Filipe Costa Carvalho

Totalmente off-topic mas…

O vídeo é muito bom! UAHuAHUAuAH Abraço!

Aprovado!, Assuntos Aleatórios, Interessante, Leu? Comente! 3 Comentários

Meus Feeds Favoritos

Luis Filipe Costa Carvalho

Respondendo ao segundo meme que eu sou convidado :) Desta vez pelo Thiago Floriano, vou falar um pouco sobre os meus feeds favoritos.

A algum tempo eu venho descobrindo blogs MUITO interessantes por essa blogosfera a fora, alguns deles estão na lista que segue abaixo:

Irmãos Brain - Esse é um dos novos, muito bom o blog, são três irmão cada um com uma personalidade diferente e pensamentos diferentes sobre os assuntos. Vale a pena conferir.
high5five - Um blog divertido também, tem vários posts engraçados.
não conte pra mamãe - Este blog é “Du caralho”, o cara tem uma visão bem legal das coisas.
Revista Papo de Homem - A única que o homem lê todos os dias - Se você é Homem(com H maiúsculo), tem que ler este blog.
Eu e Meu Ego Grande - Textos MUITO interessantes sobre como ele se sente em relação a alguma coisa.

Sei que este blog é de tecnologia mas nada me emprede de falar bem de blogs de outros temas afinal, são meus preferidos =) Os blogs de técnologia que eu gosto de ler já foram citados em outras respostas a este meme =) Os convidados a continuarem são os da lista acima.

Abraço

Aprovado!, Assuntos Aleatórios, Leu? Comente!, Meme Nenhum Comentário

Tratando erros em PHP

Luis Filipe Costa Carvalho

Depois que um sistema é produzido ele vai para o ambiente de testes e, nem sempre, todas as possibilidades são testadas e todas as falhas são descobertas. Alguns erros passam daqui, outros dali e o site vai para um ambiente real funcionando 90%. É muito difícil um site sair da produção sem nenhuma falha. Mas ai esta a questão. Se ele der erro em ambiente real, como ficar sabendo?

Provavelmente pensando nisso o pessoal da Zend implementou a função set_error_handler, que serve para tratar erros gerados em tempo de execução.

Por exemplo, se você usar uma variável que não existe ou dividir um número por zero esta função será chamada e você trata o erro da forma que achar melhor.

Nos sites que eu desenvolvo normalmente eu uso esta função para tratar os erros:

set_error_handler('trataErro');

function trataErro($msg,$errno,$errstr,$errfile,$errline) {
   $msg ="<pre>
              \nErro....: [$errno] - $errstr
              \nDate....: ".date("d/m/Y H:i:s") . "
              \nFile....: <b>$errfile</b> : <b>$errline</b>\n
          </pre>
          <h2>Roll Back: </h2$gt;";

       $trace = debug_backtrace(); //pegando o backtrace da execução
       foreach ($trace as $k=>$v) {
           if ($v['function'] == "trataErro") continue;
           $msg .=  "<ul><li>Função: <b style=\" color: green\">" . $v['function'] . "</b></li></ul>
                   <ol>File: " . $v['file'] ."</ol>
                   <ol>Linha: " . $v['line'] ."</ol>";

           if (isset($v['args'])) {
               $msg .=  "Argumentos:<ul>";
               foreach ($v['args'] as $a) {
                   $msg .=  "<li>$a</li>";
               }
               $msg .=  "</ul>";
           }
       }

    ob_start(); //ligando buffer de saida
    echo "<h1> Variáveis Globais </h1>";
    echo "<h2> _SERVER </h2>";
    echo "<pre>\n";print_r($_SERVER);echo"</pre>";
    echo "<h2> _POST </h2>";
    echo "<pre>\n";print_r($_POST);echo"</pre>";
    echo "<h2> _GET </h2>";
    echo "<pre>\n";print_r($_GET);echo"</pre>";
    $msg .= ob_get_contents(); //pegando o conteúdo do buffer de saida
    ob_end_clean(); //limpando o buffer de saida
    echo $msg;
    die; //Se algum erro existir ele aborta a execução do script
}

Depois de gerada a mensagem, se o site estiver em ambiente real ele mostra uma mensagem falando sobre o erro e pedindo desculpas e se estiver em ambiente de teste ele mostra o erro da forma como eu organizei na função.

O uso deste tipo de função é simples e trás grandes ganhos para os programadores que conseguem ter um feedback de como esta o código do site.

Aprovado!, Desenvolvimento, Interessante, Leu? Comente!, PHP 6 Comentários
Icons by N.Design Studio. Designed By Ben Swift. Powered by WordPress and Free WordPress Themes
RSS RSS dos Comentários Login