Utilizando as exceptions da SPL do PHP

Resumo:
Introdução

No artigo Try Catch Finally, vimos sobre o conceito de exceptions e seu funcionamento no PHP (onde/como são emitidas e onde/como são capturadas). Neste artigo, veremos sobre a correta utilização das exceptions definidas pela extensão SPL, então, se você ainda não conhece bem o conceito, recomendo a leitura daquele outro post antes de continuar.

Infelizmente, a documentação destas exceptions não deixa muito claro os possíveis pontos em qua cada uma pode ser usada. Portanto, as recomendações que faço são com base naquilo que compreendi da documentação.

PHP 5.5.0 Alpha 4

Resumo:
Introdução

Atenção: o PHP 5.5 foi lançado em 20/06/2013. Confira as últimas notícias sobre o Lançamento do PHP 5.5.0.

Nos últimos posts, vimos algumas novidades do PHP 5.5 Alpha 1, Alpha 2 e Alpha 3. Hoje, finalmente, foi lançada a última versão alpha do PHP 5.5.0 e, portanto, são as últimas novidades a serem inseridas.

PHP em modo interativo

Resumo:
Introdução

Embora o PHP seja especialmente criado para atender requisições Web, ele também pode ser executado em um terminal de comandos (prompt), através do php cli. Pelo terminal, podemos executá-lo de diferentes formas e, neste post, veremos quais são elas.

PHP 5.5.0 Alpha 3

Resumo:
Introdução

Atenção: o PHP 5.5 foi lançado em 20/06/2013. Confira as últimas notícias sobre o Lançamento do PHP 5.5.0.

Em novembro de 2012, postei sobre o lançamento do PHP 5.5.0 Alpha 1, em dezembro de 2012, foi lançada a versão PHP 5.5.0 Alpha 2 e, hoje (10/01/2013) foi lançada a versão PHP 5.5.0 Alpha 3. Esta nova versão também recebe algumas poucas novidades e principalmente algumas correções.

PHP 5.5.0 Alpha 2

Resumo:
Introdução

Atenção: o PHP 5.5 foi lançado em 20/06/2013. Confira as últimas notícias sobre o Lançamento do PHP 5.5.0.

Em novembro de 2012, postei sobre o lançamento do PHP 5.5.0 ALPHA 1, que daria início à família de versões 5.5.X. Porém, dia 21 de dezembro foi disponibilizada a versão ALPHA 2, com outras melhorias. De fato, na ocasião fiquei em dúvida se seriam apenas aquelas melhorias para o PHP 5.5.0, mas agora já sabemos que a lista de melhorias ainda pode crescer, enquanto está em fase alpha.

Montando seletores CSS eficiêntes

Resumo:
Introdução

Recentemente, li o artigo How to write efficient css selectors (Como escrever seletores CSS eficiêntes) e aprendi que os seletores descendentes do CSS na verdade são avaliados da direita para a esquerda e não da esquerda para direita, como eu imaginava. Este é um pequeno detalhe, mas que faz toda a diferença na hora de montar seletores CSS de forma eficiênte para que o navegador renderize uma página com alta performance.

Neste artigo, vamos entender melhor como funciona esse processo de aplicação dos estilos pelas folhas de estilo e debater sobre a criação de seletores CSS eficiêntes.

Servidor HTTP nativo no PHP

Resumo:
Introdução

Embora possa ser usada para outros propósitos, a linguagem PHP é recheada de recursos especialmente úteis para o desenvolvimento de aplicações Web. Porém, uma aplicação Web dinâmica depende também de um servidor HTTP, que recebe as requisições do user-agent e, caso necessário, solicita que o PHP realize algum processamento para gerar um documento, que é retornado para o user-agent.

Os servidores HTTP mais comuns para PHP são o Apache, que é multiplataforma, e o IIS, da Microsoft. Logo, para testar ou utilizar qualquer aplicação web feita em PHP, é necessário instalar também um servidor HTTP e configurá-lo para se comunicar com o PHP.

Porém, na versão 5.4 do PHP, foi criado um servidor HTTP dentro do próprio pacote de recursos da linguagem PHP. Embora seja um servidor simplificado, que não foi projetado para aceitar altíssimas cargas, ele realiza as operações esperadas de um servidor HTTP e, portanto, é útil para testes locais.

Generators no PHP 5.5

Resumo:
Introdução

Uma das mais importantes novidades do PHP 5.5 foi o suporte aos generators. Esta novidade permite a criação de alguns tipos de iteradores de forma muito mais fácil e intuitiva.

Já comentei sobre iteradores no artigo As interfaces Iterator, ArrayAccess e Countable. Porém, vou apresentar rapidamente o conceito para quem ainda não o conhece.