Fork me on GitHub

Grupo de desenvolvedores de PHP do estado de São Paulo
Próximos encontros e eventos? Visite a página do PHPSP no Meetup

O que o PHP7 vai quebrar #1

Por em em Artigos

Introdução

O famigerado PHP7 esta quase chegando, data prevista de lançamento é dia 12/11/2015. Muitas novidades, promessas de melhorias de até 50% na performance, mais seguro e melhor preparado para os desafios dos próximos 20 anos.
Expectativas de melhora a parte, o que vai mudar, sair ou quebrar na “userland“? Como se preparar? É disso que vou falar nessa série de artigos.

o_que_o_php7_vai_quebrar2

1. Mudanças na interpretação de expressões e varíaveis por referência como par

1.1. O que é?

O uso de “variáveis variáveis” ou variáveis indiretas é comum no PHP e funciona com a ideia de que uma variável, propriedade ou método pode ter seu nome baseado em uma variável, da seguinte forma:

Primeiro o PHP parseia que $foo tem valor ‘bar‘ e então buscar por ‘$bar‘ cujo valor é ‘baz‘ e então imprime esse valor.
(mais em http://php.net/manual/pt_BR/language.variables.variable.php)

1.2. Como é?

A forma de resolução (até 5.6.x) de nome inferia que “tudo” depois do primeiro sinal de dólar (ou cifrão, $) era uma única variável, por exemplo:

1.3. Como vai ser?

A regra de interpretação padrão da linguagem é “da direita para a esquerda” e essa regar agora será também aplicada na computação das variáveis variáveis, portanto a interpretação, a partir do PHP7, será:

1.4. Como se preparar para a mudança?

As boas práticas já indicavam que, quando usando variáveis variáveis, deveríamos explicitar a parte que seria variável com o uso de chaves ( { } ). Para que o comportamento seja homogêneo entre as versões 5.x e 7.x basta fazer uso das chaves já que elas precedem a regra “da direita pra esquerda” e serão interpretados como o esperado em todas as versões:

1.5. Implicações?

Variáveis globais (as precedidas na declaração pela palavra reservada “global” agora suportam apenas variáveis variáveis em que a parte variável seja explícita:

Para mais detalhes e maiores informações técnicas, consulte a RFC dessa mudança.

Até mais!

Tags:

Sobre João Paulo

Santista roxo. Assistente de Sobrinho Jr. metido a CIO, CTO e a coisa toda. Sabe de nada mas acha que entende de alguma coisa. Fã e entusiasta de futebol, código aberto, PHP e elePHPants.

Mais posts de .