Postado em 11 de janeiro de 2016
Contar número de linhas de um arquivo de texto com PHP
Atenção! Essa postagem foi escrita há mais de 2 anos. Na informática tudo evolui muito rápido e algumas informações podem estar desatualizadas. Embora o conteúdo possa continuar relevante, lembre-se de levar em conta a data de publicação enquanto estiver lendo. Caso tenha sugestões para atualizá-la, não deixe de comentar!
Contar o número de linhas existentes em um arquivo de texto pode parecer uma tarefa trivial, mas nem sempre é. Dependendo da maneira que você optar por fazer isso, pode acabar comprometendo o desempenho do servidor. Geralmente utilizamos essas técnicas para contar o número de linhas em arquivos txt, mas você pode utilizar em qualquer arquivo que contenha texto.
Técnica para contar linhas de arquivos pequenos
Se você tiver que contar o número de linhas de um arquivo pequeno, você pode utilizar uma combinação das funções file()
, que carregará todo o arquivo na memória em formato de array e count()
, que contará o número de índices no array (equivalente ao número de linhas).
O código fica mais ou menos assim: Continue Lendo
Postado em 7 de janeiro de 2016
O que é um Framework? Para que serve?
Atenção! Essa postagem foi escrita há mais de 2 anos. Na informática tudo evolui muito rápido e algumas informações podem estar desatualizadas. Embora o conteúdo possa continuar relevante, lembre-se de levar em conta a data de publicação enquanto estiver lendo. Caso tenha sugestões para atualizá-la, não deixe de comentar!
Na maioria das vezes, aqui no blog, eu me dedico a explicar algumas funções bastante específicas de uma ou outra tecnologia. Porém, há alguns dias, recebi um comentário em algum dos meus posts que indagava, entre outras coisas, “o que é um framework?“.
Dessa forma, decidi que seria interessante desenvolver uma postagem explicando o que são frameworks PHP e como eles funcionam. Espero que essa postagem possa ser útil e ajude a tirar dúvidas.
O que é um framework?
Framework é um conjunto de códigos abstratos e/ou genéricos, geralmente classes, desenvolvidos em alguma linguagem de programação, que relacionam-se entre si para disponibilizar funcionalidades específicas ao desenvolvedor de software. Em outras palavras, é como uma caixa de ferramentas, um kit que possui diversas funcionalidades devidamente implementadas, testadas e prontas para serem utilizadas no construção de softwares, poupando ao desenvolvedor tempo e trabalho na elaboração de operações básicas como acesso a banco de dados, sistema de templates, mapeamento de rotas e validação de dados.
Os frameworks costumam ser divididos em módulos que podem ser interdependentes ou não. Isso quer dizer que, dependendo do framework utilizado, você poderá utilizá-lo apenas em sua totalidade, com todos os seus aparatos, ou então pode haver a possibilidade de utilização de apenas as partes necessárias. Continue Lendo
Postado em 22 de dezembro de 2015
Filtrando e validando dados no PHP com filter_var()
Atenção! Essa postagem foi escrita há mais de 2 anos. Na informática tudo evolui muito rápido e algumas informações podem estar desatualizadas. Embora o conteúdo possa continuar relevante, lembre-se de levar em conta a data de publicação enquanto estiver lendo. Caso tenha sugestões para atualizá-la, não deixe de comentar!
O assunto de hoje é segurança. É bastante comum o seguinte cenário: o programador precisa validar um e-mail e vai para o Google e digita “expressão regular para validar e-mail” ou então “como validar e-mail com PHP”. O que acontece nesse caso? Somos soterrados por uma infinidade de informações e ficamos sem saber exatamente o que irá nos servir.
Contudo, desde a versão 5.2 do PHP está disponível a função filter_var(). Seu objetivo é filtrar e validar informações dentro do PHP. No artigo de hoje, vou realizar um estudo sobre as peculiaridades dessa função e mostrar como é fácil utilizá-la para aumentar a segurança de sua aplicação.
Validate e Sanitize
Os filtros dividem-se em dois tipos: validate e sanitize. Gosto de traduzi-los como validação e limpeza, respectivamente. O objetivo dos filtros de validação (validate) é verificar se determinado valor corresponde a um padrão previamente especificado. Já os filtros de limpeza (sanitize) irão retirar caracteres que não correspondam ao padrão permitido.
Cada filtro possui uma constante correspondente. No capítulo de filtros do manual do PHP é possível encontrar uma lista completa com todos os filtros disponíveis.
A função filter_var()
obedece ao seguinte protótipo:
mixed filter_var ( mixed $variable [, int $filter = FILTER_DEFAULT [, mixed $options ]] )
Sendo assim, o único parâmetro obrigatório é o primeiro, que indica o valor a ser filtrado. Porém, o filtro padrão é não aplicar filtro nenhum. Dessa forma, pra que ocorra de fato uma filtragem, é necessário especificar o segundo parâmetro. Continue Lendo
Postado em 18 de dezembro de 2015
Lançado o PHP 7.0.1
Atenção! Essa postagem foi escrita há mais de 2 anos. Na informática tudo evolui muito rápido e algumas informações podem estar desatualizadas. Embora o conteúdo possa continuar relevante, lembre-se de levar em conta a data de publicação enquanto estiver lendo. Caso tenha sugestões para atualizá-la, não deixe de comentar!
Foi publicada ontem (17/12) a primeira release do PHP 7 desde o seu lançamento, há duas semanas.
Essa atualização é altamente recomendada para quem já estiver utilizando o PHP 7 em produção, pois contém diversos bugfixes.
A lista de mudanças no core, publicadas no site, são as seguintes: Continue Lendo
Postado em 18 de novembro de 2015
10 coisas para não fazer no PHP 7
Atenção! Essa postagem foi escrita há mais de 2 anos. Na informática tudo evolui muito rápido e algumas informações podem estar desatualizadas. Embora o conteúdo possa continuar relevante, lembre-se de levar em conta a data de publicação enquanto estiver lendo. Caso tenha sugestões para atualizá-la, não deixe de comentar!
Com o lançamento do PHP 7, surge a oportunidade de podermos, de certa forma, melhorarmos algumas práticas que vínhamos executando.
Neste post estão reunidas algumas “manias” que é melhor deixarmos de lado para poder aproveitar tudo que de melhor o PHP tem a nos oferecer.
1. Não utilize funções mysql_*
Finalmente chegou o tempo em que não seremos mais apenas orientados a não utilizar as funções mysql_*
. No PHP 7 essas funções foram retiradas, o que significa que você terá que mudar para as funções (muito melhores, por sinal) mysqli_*
, ou então utilizar alternativas melhores ou mais flexíveis como PDO ou um ORM.
2. Evite desperdício de código
Em outras palavras: não escreva código inútil que desperdice o desempenho. Na verdade, a velocidade no PHP 7 aumentou tanto que pode esconder alguns problemas na arquitetura da aplicação. Não se satisfaça com o desempenho da sua aplicação só porque o PHP 7 a tornou mais rápida. Continue Lendo
Postado em 11 de novembro de 2015
Como modificar ou forjar geolocalização no navegador
Atenção! Essa postagem foi escrita há mais de 2 anos. Na informática tudo evolui muito rápido e algumas informações podem estar desatualizadas. Embora o conteúdo possa continuar relevante, lembre-se de levar em conta a data de publicação enquanto estiver lendo. Caso tenha sugestões para atualizá-la, não deixe de comentar!
Fala, galera! Tudo certinho?
Continuando meus estudos em cima da API do Google Maps (o último post foi sobre como encontrar coordenadas de locais próximos usando SQL), acabei encontrando uma dificuldade: como fazer o navegador pensar que estou em outro lugar?
Dando uma olhada nas Ferramentas de Desenvolvedor do Google Chrome descobri que é possível emular geolocalização utilizando coordenadas definidas pelo usuário. Pesquisei um pouco mais e descobri também como forjar a geolocalização no Firefox. Agora eu conto pra vocês como funciona!
Como os browsers detectam minha localização?
Com o advento do HTML5, tornou-se possível obter as coordenadas geográficas de quem está usando o navegador por meio de uma requisição JavaScript bastante simples: navigator.geolocation.getCurrentPosition()
.
Contudo, o usuário pode escolher se irá aceitar ou não compartilhar essas informações. Continue Lendo