O PHP 5.5 entrou em estado beta no dia 21 desse mês, e deve ser lançada nos próximos dias.
Vamos à um resumão das mais interessantes novas funcionalidades que virão com essa atualização.
Todas essa novidades vão permitir a criação de sistemas e frameworks mais simples e eficientes, pois recursos desse tipo contribuem e muito para um código mais limpo e inteligente! :)
Generators (ou geradores)
Generators são bem comuns em outras linguagens (como Python), eles básicamente te permitem iterar em uma lista que não precisa ser alocada previamente.
Por exemplo: você precisa listar todos os números primos de 1 até 1.000.000, uma forma mais simples seria criar uma lista com todos sesses números e depois ir iterando nela, fazendo verificações se esses números são primos e imprimindo-os.. O problema aqui é que você terá uma lista de 1.000.000 de números em memória, o que pode ser custoso pra alguns sistemas.
Com generators você conseguiria fazer exatamente a mesma coisa, mas sem precisar armazenar essa lista em memoria… pra cada iteração ele “encontra” o próximo numero da lista… a lista vai sendo gerada número a número enquanto você está usando, ficando com apenas um número na memória.
Veja um exemplo disso funcionando:
Pra cada iteração o número “da vez” será entregue pelo yeld… No exemplo acima o “generator” é a função criada com o nome de xrange.
Foreach com suporte ao método list
Agora a função foreach tem suporte à “desempacotamento” através da função list, veja um exemplo:
Dereferencing de arrays e strings literais
Agora é possível indexar arrays e strings literais, por exemplo:
API oficial de senhas
E por último mas não menos importante, a nova e inédia um artigo só pra ela.