Expressões Regulares em PHP - Recursos avançados

Resumo:
Introdução

No artigo sobre Expressões Regulares em PHP, vimos os conceitos básicos da sintaxe de Expressões Regulares usadas no PHP, que é o padrão PCRE, além das funções do PHP para realizar diferentes operações com expressões regulares. Após 6 anos, resolvi complementar aquele artigo com os recursos mais avançados sobre regex e algumas curiosidades extras sobre o assunto. Caso você não conheça o básico sobre Expressões Regulares, é altamente recomendável que primeiro vocẽ leia o artigo anterior para depois continuar.

Novidades do PHP 7

Resumo:
Introdução

No final de 2015 foi lançado finalmente o PHP 7.0.0, que estabeleceu uma nova "era" para o PHP e deixou as versões 5.X no passado. As versões 5.X (que começaram em 2004) tiveram uma grande importância na história do PHP, embora alguns tropeços também.

O que algumas pessoas podem se perguntar é por que a versão 5.X saltou para 7.X sem passar pela 6.X? Acontece que no passado houve a implementação do que seria o PHP 6. O projeto iniciou em 2005, mas acabou sendo "abandonado" em 2010. Chegaram até a lançar algumas versões alpha ou beta que cheguei a testar, mas a versão final nunca foi lançada por conta da complexidade que agregou ao núcleo do PHP. A feature que gerou toda a confusão foi o suporte nativo a Unicode. Porém, mesmo abandonando a versão 6, os desenvolvedores da linguagem optaram por lançar algumas das outras features previstas nas versões 5.3.X em diante mesmo. Com isso, vimos as versões 5.X terem uma enorme mudança desde o lançamento da versão 5.0.0 até as versões 5.6.X atuais. Afinal, foram mais de uma década desta versão.

Enfim, como o PHP 6 chegou a ser arquitetado e divulgado com um conjunto de features específicas e até artigos e livros sobre o assunto foram publicados (antes mesmo da versão final ser lançada), optaram por saltar esse número na contagem de versões do PHP para evitar confusões. Para mais detalhes sobre isso, você pode ler o RFC sobre o próximo nome do PHP.

Bem, mas estamos aqui para falar de PHP 7. Estou um pouco enferrujado para escrever artigos, mas vamos ver se esse ano volto ao ritmo.

Desempacotamento de Parâmetros em Funções no PHP (operador splat)

Resumo:
Introdução

No artigo anterior, falamos sobre Funções Variádicas, que ganhou uma sintaxe nova no PHP 5.6. Neste artigo, veremos um recurso adicional e similar, que é o desempacotamento de parâmetros em funções e métodos através do símbolo de reticências. O operador é conhecido em outras linguagens como operador "splat".

Funções Variádicas

Resumo:
Introdução

Uma das novidades do PHP 5.6 é o suporte a uma nova sintaxe para declaração de funções variádicas. Para quem não sabe, funções variádicas (variadic functions) são aquelas que podem receber um número indeterminado de parâmetros. Neste artigo veremos o que são funções variádicas e qual é a nova sintaxe para declará-las a partir do PHP 5.6.

Novidades do PHP 5.6

Resumo:
Introdução

O ano de 2013 terminou e foi marcado pelo lançamento do PHP 5.5, com ótimas novidades. Mas chegou 2014 e, logo no começo do ano, já temos o lançamento da primeira versão ALPHA do PHP 5.6. Isso mesmo! O ciclo de desenvolvimento do PHP parece estar a todo vapor. Além disso, o exame de certificação em PHP já se atualizou e agora as perguntas são baseadas na versão 5.5 do PHP.

Neste artigo, vamos dar uma olhada inicial nas principais características anunciadas para o PHP 5.6, lembrando que esta versão ainda é ALPHA, ou seja, ainda é instável e pode sofrer mudanças até o lançamento oficial da versão 5.6.0. Conforme serão anunciadas as novidades em outras versões ALPHA, BETA e Release Candidate, vou atualizando este artigo para que fique completo.

Namespaces e Resolução de nomes de Classes

Resumo:
Introdução

Recentemente, assisti ao PHPCast episódio 8 e confesso que fiquei um pouco surpreso ao notar que um recurso bem simples introduzido no PHP 5.5 não foi compreendido plenamente por todos participantes. Trata-se de uma nova sintaxe da linguagem que permite a obtenção do nome qualificado de classes. Então, vou mostrar com mais detalhes este novo recurso que, certamente, também deve ser dúvida de muitos programadores.

Threads no PHP com pthreads

Resumo:
Introdução
representação de threads de um processo

Thread é um importante recurso de algumas linguagens de programação, que provê melhoria de performance através da execução de blocos de instruções em paralelo. Por outro lado, ela também exige uma forma própria de pensar na solução dos problemas. Neste artigo, veremos rapidamente o que são threads e um tutorial de como e onde elas podem poderão ser usadas com PHP.

Role Attribute dando mais sentido ao HTML

Resumo:
Introdução

O atributo role é um atributo criado para dar mais semântica aos elementos de documentos baseados em marcação, como o HTML, além de oferecer mais acessibilidade. A partir de Março de 2013, este atributo passou a ser um recurso recomendado para uso pela W3C. Portanto, vamos entender melhor o que ele é, em que contexto mais amplo ele está situado e como usá-lo na prática.

Declarando tipos numéricos no MySQL

Resumo:
golfinho, que é o animal símbolo do MySQL
Introdução

MySQL é um SGBD muito popular, mas muito robusto. Por ser robusto e cheio de recursos, a documentação do MySQL não poderia ser diferente: também é muito extensa. Talvez seja por este motivo que nem sempre ela é devidamente estudada e, com isso, nota-se que muita gente acaba utilizando os recursos disponíveis de forma incorreta, seja por desconhecimento ou descuido.

Neste artigo, veremos sobre um destes enganos comuns de utilização do MySQL: a má especificação dos tipos numéricos nas colunas de tabelas MySQL.

Design Responsivo com Media Queries

Resumo:
Introdução
Diferentes dispositivos exibindo o mesmo conteúdo, ilustrando um design responsivo

Design Responsivo (ou Responsive Design) é uma técnica que tem ganhado destaque nos últimos tempos, mas sua ideia é bastante antiga. Ela está diretamente relacionada ao pensamento de Tim Berners-Lee (o criador da Web), que dizia que os documentos da Web deveriam ser acessíveis por qualquer tipo de hardware que estivesse conectado à Internet, seja ele uma estação física ou móvel, com tela pequena ou grande. Ou seja, Design Responsivo é o nome de uma técnica que possibilita isso: prover um documento na Web que pode ser visualizado por qualquer dispositivo, de modo que o layout se adeque de forma amigável às restrições do aparelho.

PHP 5.5.0 Beta 1

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 meses, escrevi sobre as versões Alpha do PHP 5.5, que representa a nova "família" de versões 5.5.X. A princípio, seriam lançadas apenas quatro versões alpha, mas a equipe de desenvolvimento optou por lançar o Alpha 5 e o Alpha 6, com algumas correções e melhorias. Hoje, porém, foi lançada a primeira versão Beta. E, para nossa alegria, foram incorporadas algumas melhorias, além das correções. Lembrando que esta versão ainda não deve ser usada em produção. É apenas uma versão para testes.

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.

API para hash de senhas no PHP 5.5

Resumo:
Introdução
cadeado

No artigo Autenticação e criptografia de senhas, vimos os mecanismos que a linguagem PHP oferece para gerar hash, especialmente para armazenamento seguro de senhas, além do processo de conferência de um hash com a senha real. Porém, até então não existia uma padronização sobre este processo. Com isso em vista, a equipe de desenvolvimento do PHP implementou uma API para geração de hash de senhas.

Este artigo irá apresentar esta, que é uma das novidades do PHP 5.5.

Try Catch Finally em PHP

Resumo:
Introdução

Dando continuidade aos artigos relacionados às novidades do PHP 5.5, este artigo irá abordar sobre o suporte ao bloco "finally" nas estruturas try/catch/finally do PHP.

Porém, antes de apresentar o novo recurso ("finally"), vou contextualizar o assunto de Exceptions para os leitores que ainda não o conhecem.

Derreferenciamento de arrays e strings constantes no PHP

Resumo:
Introdução

No artigo anterior, postei sobre o anúncio do PHP 5.5.0 alpha, citando as novidades da futura versão do PHP. Neste artigo, veremos sobre a melhoria "Derreferenciamento de arrays e strings constantes" (constant array/string dereferencing). Não se assuste com o nome, pois é uma melhoria simples de entender.

Traits no PHP 5.4

Resumo:
Introdução

O PHP 5.4 já está disponível desde março/2012 e uma de suas grandes novidades em relação à Programação Orientada a Objetos foi a introdução de um novo recurso chamado "Traits". Neste artigo veremos o que é uma trait, para que ela serve e como usá-la.