Este artigo mostra como obter os e-mails recebidos por uma conta do GMail a partir de código PHP.
Blog de PHP com artigos, tutoriais, scripts e dicas sobre tecnologias web em geral.
Este artigo mostra como obter os e-mails recebidos por uma conta do GMail a partir de código PHP.
Em PHP existem 5 funções que conseguem obter a lista de classes, interfaces, funções, variáveis ou constantes declaradas até o momento. São elas:
PHP oferece um recurso bastante curioso, que não sei se é parte do Paradigma Orientado a Objetos, mas que tem lá suas utilidades. Chamei de "Método Compartilhado" por não saber se esta característica tem nome.
Interface é um recurso das linguagens de programação orientadas a objetos que propicia algumas vantagens ao polimorfismo. PHP oferece algumas interfaces que, caso sejam implementadas em uma classe, resultam em comportamentos especiais. Algumas destas interfaces são: Iterator, ArrayAccess e Countable.
PHP oferece nativamente o tipo array, que possui bastante flexibilidade. As principais características do array de PHP é que ele permite índices inteiros ou alfanuméricos, e é auto-redimensionável, ou seja, cresce ou diminui conforme elementos são adicionados ou removidos.
Quem já trabalhou com linguagens mais baixo nível, como C ou C++, deve saber que manter o controle sobre um array auto-redimensionável implica em perda de performance em função da realocação de memória. Para prover uma solução mais restrita e mais rápida para PHP, foi criada a classe SplFixedArray, disponível a partir da versão 5.3 de PHP. Ela só aceita inteiros como índices (de zero até o tamanho menos um) e tem tamanho fixo (definido na criação do objeto), embora possa ser redimensionado a qualquer momento. Quanto menos redimensionamento é feito, mais ela tende a ser mais rápida que um array convencional.
Muitas vezes é necessário realizar comparações rápidas, onde se espera obter um valor ou outro de acordo com uma condição. Para isso, existe o operador ternário e o operador "?:".
O script a seguir é destinado àqueles que utilizaram a função money_format no Linux e ficaram decepcionados ao notar que a função não estava disponível para Windows. Criei este script para tentar simular o comportamento da função original. Entretanto, nem todas as opções foram implementadas. Caso queira ajudar, fique a vontade, pois o código é livre e gratuito.
Segue uma dica de como indentar um código HTML ou XML usando o módulo DOM do PHP:
Script para criar cantos arredondados em imagens.
As funções var_dump, print_r e debug_zval_dump são úteis para destrinchar o conteúdo de uma variável em PHP, independente de seu tipo.
Porém, elas não mostram, por exemplo, os métodos de um objeto. Uma forma simples de se obter esta informação é utilizando o método export da classe Reflection.
Percorrer diretórios e arquivos em PHP é muito simples. Vamos ver 5 formas para se fazer isso, cada uma com suas características e limitações:
Aritmética de datas é o processo de realizar contas utilizando datas e intervalos de tempo.
O fator mais complicante nestes tipos de operações é que data não é algo tão exato quanto se imagina. Tudo por conta que a Terra leva 365,2422 dias para completar uma volta inteira no Sol. Para entender com detalhes, leia esta explicação.
Heredoc e Nowdoc (também chamados de "here document" e "now document") são duas formas de se representar strings em PHP (assim como existe a representação usando delimitadores com aspas simples e com aspas duplas).
Recentemente a Zend anunciou o lançamento do novo exame de certificação em PHP, a "Zend PHP 5.3 Certification". Ela substitui a antiga "Zend PHP 5 Certification".
A linguagem PHP, assim como qualquer linguagem de programação, é formada por construções da linguagem. Além das estruturas básicas de programação (estruturas condicionais, estruturas de repetição, sintaxe para criação de classes, sintaxe para criação de funções, etc.), a linguagem possui algumas funções "built-in", ou seja, funções embutidas no núcleo da linguagem.
Modelo Entidade-Relacionamento é a conhecida modelagem da base de dados com suas entidades, atributos e relacionamentos.
A princípio, parece um modelo bastante simples de se fazer quando nos concentramos na realidade. Ou seja, se os atributos de cada entidade e os relacionamentos das entidades são realmente condizentes com a realidade em qualquer circunstância. É importante se preocupar com os nomes dados às entidades e os pontos onde elas podem ser quebradas para evitar a duplicação de dados.
Existe, porém, um detalhe que observei recentemente: parece existir uma tendência natural do modelador ligar algumas entidades às entidades que representam pessoas ao invés de ligá-las onde realmente preservaria a integridade referencial.
Hoje, em uma discussão em uma lista de PHP, fui surpreendido com a informação de que a estrutura "for" era mais rápida que a estrutura "foreach". Depois me deram a fonte da informação: The PHP Benchmark. Na fonte, diz que o "for" é mais rápido para escrita, mas é mais lento para leitura dos elementos percorridos. Observando o código do site, cheguei a conclusão de que ele estava meio furado.
Tratamento de erros é a estratégia usada para capturar a ocorrência de uma situação que impede o sucesso de uma operação do sistema. Isso pode se dar em diferentes níveis. Em baixo nível: uma função pode receber um parâmetro inesperado. Em alto nível, uma ferramenta pode não aceitar determinada sequência de ações do usuário.
Se você trabalha com programação Web, provavelmente já utilizou a codificação de caracteres Latinos (ISO-8859-1) e conhece ou já deve ter ouvido falar de Unicode. Este artigo mostra o que é Unicode, quais os benefícios e como trabalhar com ela.
Em sistemas de informação, é comum existirem atividades que precisam ser realizadas sob agendamento. Normalmente esta característica é necessária por um dos motivos: