<?xml version="1.0" encoding="UTF-8"?> <rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
> <channel><title>Cauan Cabral &#187; oop</title> <atom:link href="http://cauancabral.net/tag/oop/feed/" rel="self" type="application/rss+xml" /><link>http://cauancabral.net</link> <description>Geek, nerd e apaixonado por tecnologia</description> <lastBuildDate>Sat, 24 Sep 2011 22:13:29 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.1</generator> <item><title>E os posts?</title><link>http://cauancabral.net/2008/01/21/e-os-posts/</link> <comments>http://cauancabral.net/2008/01/21/e-os-posts/#comments</comments> <pubDate>Mon, 21 Jan 2008 20:43:04 +0000</pubDate> <dc:creator>Cauan Cabral</dc:creator> <category><![CDATA[Programação]]></category> <category><![CDATA[Sem categoria]]></category> <category><![CDATA[oop]]></category> <guid
isPermaLink="false">http://geek.cauancabral.net/2008/01/21/e-os-posts/</guid> <description><![CDATA[Calma, tudo ao seu tempo. Já falei aqui que quero postar sobre Orientação a Objetos, sobre os livros que comprei recentemente, sobre o Joomla! e claro, continuar os artigos sobre validação ( afinal, temos de concluir o que iniciamos, não &#8230; <a
href="http://cauancabral.net/2008/01/21/e-os-posts/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>Calma, tudo ao seu tempo.</p><p>Já falei aqui que quero postar sobre Orientação a Objetos, sobre os livros que comprei recentemente, sobre o Joomla! e claro, continuar os artigos sobre validação ( afinal, temos de concluir o que iniciamos, não é? ). Meu próximo post será a continuação dos posts sobre validação. Não, eu ainda não o escrevi, mas o farei ainda hoje, mais tardar amanhã. Mas apesar de não ter escrito, já sei o que farei.</p><p>Em seguida, devo escrever um post sobre o Joomla! ( estou fazendo aquele componente que comentei anteriormente ), e está sendo uma experiência legal.</p><p>Neste meio tempo, provavelmente haverão alguns posts menos nerds, ou geek como preferirem. Minha vida acadêmica está voltando ao normal e com ela minhas responsabilidades com o Movimento Estudantil ( não, eu não fiquei a toa minhas férias e deixei tudo parado, não totalmente ). E com maior vivencia do assunto, as idéias, conflitos e reflexões vão &#8220;aflorando&#8221; e pretendo usar este espaço como válvula de escape, afinal, ninguém é de ferro &#8211; eu muito menos.</p><p>Está chegando a era da filosofia nerd <a
href="http://politeia.cauancabral.net" onclick="pageTracker._trackPageview('/outgoing/politeia.cauancabral.net?referer=');">neste blog</a> ( não precisam se assustar, não serei tão incisivo, não no começo ), mas o mundo nerd não perderá mais um espaço, continuarei falando MUITO sobre programação, tecnologia ( que não comentei ainda ) e afins.</p><p>Até breve.</p><div
id="crp_related"><h3>Outros posts que podem interessar:</h3><ul><li><a
href="http://cauancabral.net/2008/01/17/sentiram-falta/" rel="bookmark" class="crp_title">Sentiram falta?</a></li><li><a
href="http://cauancabral.net/2008/02/25/falta-de-tempo/" rel="bookmark" class="crp_title">Falta de tempo&#8230;</a></li><li><a
href="http://cauancabral.net/2008/05/08/voltando-a-ativa-no-bom-sentido/" rel="bookmark" class="crp_title">Voltando a ativa ( no bom sentido )</a></li><li><a
href="http://cauancabral.net/2008/01/06/sem-assunto-parte-3/" rel="bookmark" class="crp_title">Sem assunto &#8211; parte 3</a></li><li><a
href="http://cauancabral.net/2008/01/04/sem-assunto-2/" rel="bookmark" class="crp_title">Sem assunto &#8211; parte 2</a></li></ul></div>]]></content:encoded> <wfw:commentRss>http://cauancabral.net/2008/01/21/e-os-posts/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Validação de dados em PHP5 &#8211; Parte 2</title><link>http://cauancabral.net/2008/01/03/validacao-de-dados-em-php5-parte-2/</link> <comments>http://cauancabral.net/2008/01/03/validacao-de-dados-em-php5-parte-2/#comments</comments> <pubDate>Thu, 03 Jan 2008 22:59:33 +0000</pubDate> <dc:creator>Cauan Cabral</dc:creator> <category><![CDATA[Desenvolvimento Web]]></category> <category><![CDATA[PHP]]></category> <category><![CDATA[Programação]]></category> <category><![CDATA[er]]></category> <category><![CDATA[oop]]></category> <category><![CDATA[php5]]></category> <category><![CDATA[segurança]]></category> <category><![CDATA[validação]]></category> <guid
isPermaLink="false">http://geek.cauancabral.net/2008/01/03/validacao-de-dados-em-php5-parte-2/</guid> <description><![CDATA[Continuando a série de artigos sobre validação de dados ( veja a primeira parte ) com PHP5. Nota: usarei “cliente” para me referir a um usuário do sistema, ou mesmo outro sistema que interaja conosco. Usarei também ER para designar &#8230; <a
href="http://cauancabral.net/2008/01/03/validacao-de-dados-em-php5-parte-2/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p
class="MsoNormal">Continuando a série de artigos sobre validação de dados ( veja a primeira parte ) com PHP5.</p><p
class="MsoNormal"><em>Nota: usarei “cliente” para me referir a um usuário do sistema, ou mesmo outro sistema que interaja conosco. Usarei também ER para designar expressão regular, que é o assunto base <a
href="http://cauancabral.wordpress.com/2008/01/02/validacao-de-dados-em-php5-parte-1/" title="Validação de Dados em PHP5 - Parte 1" onclick="pageTracker._trackPageview('/outgoing/cauancabral.wordpress.com/2008/01/02/validacao-de-dados-em-php5-parte-1/?referer=');">deste post</a>.</em></p><p
class="MsoNormal"><a
href="http://cauancabral.wordpress.com/2008/01/02/validacao-de-dados-em-php5-parte-1/" title="Validação de Dados em PHP5 - Parte 1" onclick="pageTracker._trackPageview('/outgoing/cauancabral.wordpress.com/2008/01/02/validacao-de-dados-em-php5-parte-1/?referer=');">Anteriormente</a>, havíamos abordado uma validação mais geral, onde tínhamos de aceitar vários tipos de dados.</p><p
class="MsoNormal">Agora, vamos abordar uma situação onde esperamos um dado específico vindo do cliente &#8211; usarei “cliente” para referir tanto ao usuário do sistema quanto outros sistemas &#8211; por exemplo, em um campo de formulário, onde esperamos um nome ou um email.</p><p>Um dos recursos mais eficientes em se tratando de validação é o uso de <em>expressões regulares</em>. E é com isto que iremos trabalhar.</p><p
class="MsoNormal">Vamos a uma definição:</p><p
class="MsoNormal">“Uma <strong>expressão regular</strong>, na <a
href="http://pt.wikipedia.org/wiki/Inform%C3%A1tica" title="Informática" onclick="pageTracker._trackPageview('/outgoing/pt.wikipedia.org/wiki/Inform_C3_A1tica?referer=');">Informática</a>, define um padrão a ser usado para procurar ou substituir palavras ou grupos de palavras. É um meio preciso de se fazer buscas de determinadas porções de texto.” Fonte: <a
href="http://pt.wikipedia.org/wiki/Express%C3%A3o_regular" title="Enciclopédia Livre - Expressões Regulares" onclick="pageTracker._trackPageview('/outgoing/pt.wikipedia.org/wiki/Express_C3_A3o_regular?referer=');">Wikipédia.</a></p><p
class="MsoNormal">Então uma <em>expressão regular</em> é um padrão. Por isso não podemos utilizar uma expressão regular para validar algo que desconhecemos, porque seria muito difícil ou mesmo impossível encontrar um padrão para tudo.</p><p
class="MsoNormal">Não pretendo explicar os fundamentos de uma expressão regular, se desejar alguma referência, recomendo o site: <a
href="http://guia-er.sourceforge.net/" title="Guia de Expressões Regulares" onclick="pageTracker._trackPageview('/outgoing/guia-er.sourceforge.net/?referer=');">http://guia-er.sourceforge.net</a></p><p
class="MsoNormal">Como podemos utilizar uma expressão regular para validar um campo de um formulário?<span> </span>Precisamos de uma função do PHP que faça esta verificação para a gente, uma função que compare nossa expressão regular com o valor a ser testado.</p><p
class="MsoNormal">O PHP oferece algumas funções para isso, vejamos duas delas:</p><p
class="MsoNormal">&nbsp;</p><p
class="MsoNormal"><strong>ereg</strong>( string $expressão<span> </span>, string $variável<span> </span>[, array $registros<span> </span>] )</p><p
class="MsoNormal">&nbsp;</p><p
class="MsoNormal">Retorna <tt><strong><span
style="font-family: 'Times New Roman'">TRUE</span></strong></tt> se <tt><em><span
style="font-family: 'Times New Roman'">$variável</span></em></tt> “bater” com <tt><em><span
style="font-family: 'Times New Roman'">$expressão</span></em></tt>, e <tt><strong><span
style="font-family: 'Times New Roman'">FALSE</span></strong></tt> se a expressão não casar ou se acontecer algum erro. <a
href="http://br.php.net/manual/pt_BR/function.ereg.php" title="Referência da função em Português" target="_blank" onclick="pageTracker._trackPageview('/outgoing/br.php.net/manual/pt_BR/function.ereg.php?referer=');">referência</a></p><blockquote><p> //nossa ER, um padrão para CEP<br
/> $cepER = &#8216;^[0-9]{5}\-[0-9]{3}$&#8217;;<br
/> //vamos supor que temos a variável $_POST['cep'] vinda de um formulário</p><p>//fazemos então a verificação<br
/> if( ereg( $cepER, $_POST['cep'] ) )<br
/> echo &#8220;Isso parece um CEP válido&#8221;;<br
/> else<br
/> echo &#8220;Isso não é um CEP válido&#8221;;</p></blockquote><p
class="MsoNormal">Por que não podemos afirmar se o CEP está correto? Simplesmente porque com a ER analisamos apenas a forma da variável, ou seja, se ela tem o mesmo número de caracteres, se são do mesmo tipo e estão nas mesmas posições. Para afirmarmos com segurança que o CEP é válido, teríamos de verificar se o valor está cadastrado nos Correios ou em alguma outra fonte segura. Mas isso foge ao nosso escopo.</p><p
class="MsoNormal">Essa função <strong>ereg </strong>permite fazer a buscar por um padrão em uma string utilizando padrão POSIX, mas o PHP fornece outra função para a mesma tarefa, com desempenho melhor, e baseado no padrão PCRE ( compatível com PERL ). Esta função é a <strong>preg_match</strong>.</p><p
class="MsoNormal"><strong>preg_match</strong>( string $expressão , string $variável [, array &amp;$matches [, int $flags [, int $offset ]]] )</p><p
class="MsoNormal">Retorna 1 se a $variável “bater” com a $expressão, e 0 caso contrário. <a
href="http://br.php.net/manual/pt_BR/function.preg-match.php" title="Referência da função em inglês" target="_blank" onclick="pageTracker._trackPageview('/outgoing/br.php.net/manual/pt_BR/function.preg-match.php?referer=');">referência</a>.</p><p
class="MsoNormal">Vamos ver o uso do preg_match na mesma situação do exemplo anterior:</p><blockquote><p
class="MsoNormal">//nossa ER, um padrão para CEP<br
/> $cepER = ‘/[0-9]{5}\-[0-9]{3}/’;</p><p>//vamos supor que temos a variável $_POST['cep'] vinda de um formulário<br
/> //fazemos então a verificação, poderíamos omitir o &#8220;== 1&#8243;, já que o PHP converte 0 e 1 para <em>false</em> e <em>true</em> respectivamente<br
/> if( preg_match ( $cepER, $_POST[‘cep’] ) == 1 )<br
/> echo “Isso parece um CEP válido”;<br
/> else<br
/> echo “Isso não é um CEP válido”;</p></blockquote><p
class="MsoNormal">Notem a diferença na nossa ER. Mudamos os caracteres de inicio e final, isto acontece por conta da diferença entre os padrões que as funções utilizam.</p><p
class="MsoNormal">O artigo já está muito grande, continuarei a falar sobre ER nos próximos artigos. Vamos ver como criar ER para validar telefone, email e por último CPF ( que incluiremos outro teste de validação além da ER ).</p><p
class="MsoNormal">Uma última dica, utilizem ER juntamente com o método do artigo anterior, para aumentar a segurança de seu sistema ( pense em outras formas para isso também ).</p><p
class="MsoNormal">Por enquanto é só.</p><p
class="MsoNormal">Não esqueçam de validar tudo.</p><div
id="crp_related"><h3>Outros posts que podem interessar:</h3><ul><li><a
href="http://cauancabral.net/2008/01/02/validacao-de-dados-em-php5-parte-1/" rel="bookmark" class="crp_title">Validação de dados em PHP5 &#8211; Parte 1</a></li><li><a
href="http://cauancabral.net/2008/02/10/validao-de-dados-em-php5-final/" rel="bookmark" class="crp_title">Valida&#231;&#227;o de dados em PHP5 &#8211; final</a></li><li><a
href="http://cauancabral.net/2008/01/23/validao-de-dados-em-php5-parte-3/" rel="bookmark" class="crp_title">Valida&#231;&#227;o de dados em PHP5 &#8211; Parte 3</a></li><li><a
href="http://cauancabral.net/2008/09/21/desenvolvimento-rapido/" rel="bookmark" class="crp_title">Desenvolvimento rápido</a></li><li><a
href="http://cauancabral.net/2009/02/25/cakephp-duvidas-comuns-2/" rel="bookmark" class="crp_title">CakePHP &#8211; Dúvidas Comuns #2</a></li></ul></div>]]></content:encoded> <wfw:commentRss>http://cauancabral.net/2008/01/03/validacao-de-dados-em-php5-parte-2/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Sem assunto</title><link>http://cauancabral.net/2008/01/03/sem-assunto/</link> <comments>http://cauancabral.net/2008/01/03/sem-assunto/#comments</comments> <pubDate>Thu, 03 Jan 2008 17:44:29 +0000</pubDate> <dc:creator>Cauan Cabral</dc:creator> <category><![CDATA[Livros]]></category> <category><![CDATA[oop]]></category> <guid
isPermaLink="false">http://geek.cauancabral.net/2008/01/03/sem-assunto/</guid> <description><![CDATA[Um dia quente, muito quente. Sem nada interessante pra fazer. Podia estar a beira de uma praia, rio, piscina ou qualquer fonte de água. Mas não, estou em casa, dentro de um quarto quente, em frente a um computador procurando &#8230; <a
href="http://cauancabral.net/2008/01/03/sem-assunto/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>Um dia quente, muito quente.</p><p>Sem nada interessante pra fazer. Podia estar a beira de uma praia, rio, piscina ou qualquer fonte de água. Mas não, estou em casa, dentro de um quarto quente, em frente a um computador procurando algo interessante. Sem sucesso.</p><p>Acaba de chegar um livro nerd que comprei: <a
href="http://geek.cauancabral.net/wp-admin/PHP%20Programando%20com%20Orienta%C3%A7%C3%A3o%20a%20Objetos" title="Livro de PHP" target="_blank" onclick="pageTracker._trackPageview('/outgoing/geek.cauancabral.net/wp-admin/PHP_20Programando_20com_20Orienta_C3_A7_C3_A3o_20a_20Objetos?referer=');">PHP Programando com Orientação a Objetos</a> &#8230; me pareceu muito interessante, já dei uma folheada, mas neste calor, não tem como ficar lendo. Não tenho ar-condicionado.</p><p>Pelo menos uma coisa boa aconteceu hoje, entrei no internet banking e fui ver meu saldo. Adivinhem, meu pouco dinheiro não está sendo tributado pela CPMF, pois é, como é sabido pela maioria, desde o dia 1º de Janeiro de 2008 estamos livres desta extorsão, vamos ver quanto tempo isso dura. Na verdade já não dura muito, porque o IOF e outros impostos foram aumentados, nada que tenha o mesmo efeito que a CPMF tinha, mas já estão arrumando um jeito de não perder o peixe.</p><p>Segundo um instituto aí de estudos tributários ( não me lembro onde li, acho que no Terra ), os encargos pagos em média por uma pessoa com a CPMF era de 200 reais ao ano, sim, isso só da CPMF, fora o resto dos impostos. Agora com o IOF maior, vamos pagar em média 40 reais no ano. Melhorou, mas ainda tem muito para melhorar.</p><p>Falta um pouco de interesse da população, um pouco de vontade política e de cunho social. Falta vergonha na cara para exigir o que é seu.</p><p>Bom, falei tudo isso porque está quente. Muito quente.</p><div
id="crp_related"><h3>Outros posts que podem interessar:</h3><ul><li><a
href="http://cauancabral.net/2008/01/04/sem-assunto-2/" rel="bookmark" class="crp_title">Sem assunto &#8211; parte 2</a></li><li><a
href="http://cauancabral.net/2008/01/18/novidades/" rel="bookmark" class="crp_title">Novidades&#8230;</a></li><li><a
href="http://cauancabral.net/2008/01/21/e-os-posts/" rel="bookmark" class="crp_title">E os posts?</a></li><li><a
href="http://cauancabral.net/2008/01/17/sentiram-falta/" rel="bookmark" class="crp_title">Sentiram falta?</a></li><li><a
href="http://cauancabral.net/2008/03/23/vamos-la/" rel="bookmark" class="crp_title">Vamos lá&#8230;</a></li></ul></div>]]></content:encoded> <wfw:commentRss>http://cauancabral.net/2008/01/03/sem-assunto/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> </channel> </rss>
