PHP 7 – recursos, data do lançamento, rumores

- PHP 7

PHP 7

O maior problema de PHP era a falta de apoio nativo ao Unicode, por esta razão, em 2005, desenvolvedores decidiram resolver isso. Um projeto foi lançado para proporcionar PHP um suporte nativo a Unicode. Para alcançar esse objetivo, eles usaram a biblioteca de Componentes Internacionais para Unicode (ICU) para poder utilizar a codificação UTF-16. Foi planejado lançar o projeto como uma versão 6.0, porém encontramos só PHP 5.3 e PHP 5.4, e ainda nem uma tem o Unicode incorporado. Mas porque é assim? De fato, agora desenvolvedores trabalham tanto para lançar uma nova versão melhorada de PHP – PHP 7. Só que a versão PHP 6 com o seu Unicode experimental nunca foi lançada, por isso o nome foi abandonado.

The Best PHP 7 Books to Read

The Best PHP 7 Tutorials and Tools to Start With

UPD (23.06.15): PHP 7 – data do lançamento, performance, caraterísticas, mudanças

UPD (13.07.15): uma Entrevista com Dmitry Stogov

UPD (25.08.15): PHP 7 em Magento EE

UPD (27.08.15): Funcionalidade criticada que será eleminado em PHP 7.

UPD (01.09.15): PHP 7.0.0 RC 1

UPD (07.09.2015): PHP 7.0.0 RC2 foi lançado. PHP 7 será disponível em Novembro 12.

UPD (15.09.15): PHP 7 e WordPress, Tipos Return, Tipos Scalar, Threading para PHP, PHP7 Reference, php7cc

UPD (22.09.15): Problemas de Compatibilidade, screencasts de PHP 7 e uma nova revista

UPD (29.09.15): tutoriais de PHP 7

UPD (26.10.2015): A aquisição de Zend e PhpStorm 9

PHP 7

A Acquisição de Zend

Rogue Wave Software anunciou uma aquisição de Zend, por isso agora a companhia vai ter habilidades magnificas que vão ajudar a alcançar empresas mais grandes, oferecendo uma ótima assistência. Como consequência, as línguas de programação mais conhecidas de Web serão amplamente distribuídas (o portfólio de Rogue  Wave já inclui mais que 3,000 clientes). No mesmo tempo, o Rogue Wave poderá expandir-se no área de Web & Mobile.

A aquisição leva os dois – PHP 7 e Zend Framework 3 – a um novo nível de qualidade.

PhpStorm 9

PhpStomp 9 apoia a PHP 7. O melhor PHP IDE agora oferece opções refinadas de edição e depuração, melhor entendimento de código, aumento significante na produtividade, e um apoio total a desenvolvimento remoto. Outras características de PHP são:

  • Visão melhorada de estrutura

  • PHP nos ficheiros de HTML e PHP

  • Colchetes, parênteses e chaves agora apoiam configurações de cores.

  • Template separado editável no construtor de PHP

  • Habilidade de criar setters fluentes.

PHP 7

Tutoriais PHP 7

Se você esta procurando exercícios práticas para aprender PHP 7, há um bom jeito de aumentar a sua competência atual. Em php7-tutorial.com, você vai descobrir todas as novas mudanças e caraterísticas relativas á versão da língua que está por vir. Tutoriais incluem monte de exercícios simples baseados em resolução de problemas ou concertação de bugs diversos. É necessário mencionar que todos os passos correspondem a RFC e têm explanações. Além disso, o website ilustra linha do tempo de PHP 7:

PHP 7

Problemas de compatibilidade

Infelizmente, alguns melhoramentos novos introduzidos em PHP 7, podiam potencialmente impedir o lançamento de aplicações legadas nas versões precedentes da língua. Abaixo, nos discutimos esse problema e ilustramos alguns exemplos.

Aspetos criticados foram removidos

Como já tínhamos mencionado antes, um numero de aspetos criticados foram removidos de PHP 7. Assim, a evolução da língua ocorre, mais ainda há algumas aplicações legadas que são baseadas nesses momentos criticados. Você pode ver a lista completa das coisas que foram removidas abaixo.

Sintaxe da variável uniform – Uniform Variable Syntax

Uma seria de inconsistências ocorre no caso de avaliação de expressões de duas variáveis. Felizmente, você pode consertar esses problemas com a assistência de Sintaxe de uniform variável (uniform variable syntax). Vamos ver como o mesmo $person->$property[‘first’]  está avaliado no PHP 5 e PHP 7.

No caso de PHP 5, a expressão é avaliada como $person->{$property[‘first’]}  e interpretada como $person->name. Esse exemplo ilustra uma óbvia inconsistência com ordem de esquerdo a direito.

No caso de PHP 7, a mesma expressão avaliada como {$person->$property}[‘first’]. Assim, o interpretador vai avaliar  $person->$property first. Como consequência, o exemplo do código será irrelevante para PHP 7, pois que $property é um arranjo; consequentemente, é impossível de converter isso numa cadeia de caracteres (string)

Felizmente, você pode simplesmente arreglar o problema ao utilizar chaves: define explicitamente a ordem de avaliação da seguinte forma: $person->{$property[‘first’]}. Essa ação vai levar ao mesmo comportamento em PHP 5 e PHP 7. Por favor, não esqueça que a implementação de sintaxe variável de-esquerdo-a-direito (left-to-right variable syntax) é uma razão porque muitas expressões previamente invalidas agora vão funcionar.

Multiple “default” clauses

Multiple default clauses é um erro fatal no case switch em PHP 7. Quanto a PHP 5, o último default é usado, enquanto a nova versão requer a utilização de um default clause em switch statements.

Para receber mais informações sobre o problema de compatibilidade e descrições detalhadas de características novas, siga o link.

PHP 7 screencasts

Laracasts.com oferece 7 screencasts maravilhosas de PHP completamente grátis. Você pode escolher entre: Some Vagrant, Some PHP 7; Scalar Typehints; Return Type Declarations; Spaceships; The Null Coalesce Operator; Grouped Imports; and Anonymous Classes.

PHP 7 screencasts by laracasts

Revista de PHP 7

Quanto a revista de PHP 7 foi publicada em Zend Developer Zone. O autor resume mais uma vez todas as características e melhoramentos da nova versão de PHP.

A revista de PHP 7 em Zend Developer Zone

PHP 7 e WordPress

WordPress está gradualmente mudando o seu núcleo para PHP 7 que está por vir. Conforme novos estandartes, o WordPress baseado no PHP 7 mostra aumento de 2-3 vezes da sua velocidade comparado com PHP 5.6.

Nightlies de PHP 7 agora são a parte de matriz de test automático; cada commit contra a nova versão de PHP foram provados; e outros problemas foram arreglados. Além disso, você vai achar monte de temas e plugins possíveis disponíveis ao uso no PHP 7. Quanto a Uniform Variable Syntax, (Sintaxe de uniform variável), WordPress está absolutamente otimizado e adaptado a cooperação com ele.

Como nos vemos, a plataforma será preparada para fornecer um apoio completo a PHP 7, imediatamente depois do seu lançamento oficial (Novembro 12, 2015). No mesmo tempo, o WordPress vai continuar a apoiar as versões mais velhas de PHP.

PHP 7

Novos Tipos de PHP 7

Já tínhamos mencionado sobre novos tipos de PHP 7. Abaixo, você pode achar uma revista curta de tipos return e scalar.

Tipos Return

O sistema de tipos de PHP 7 foi reforçada com tipos return. Por isso, funções e métodos podem especificar o tipo de valor que eles explicitamente devolvem (return). Um expemplo:

Check this post for a more detailed description of return types.

Tipos Scalar

Tipos return só são o fim, porque PHP 7 também nos impressiona com a introdução de tipos scalar.

Pois que a nova versão da língua adiciona a habilidade de type contra valores scalar, você recebe novas oportunidades para trabalhar com string, int, ou outros tipos.

Tipos scalar oferecem uma boa claridade dentro da língua. Além disso, eles introduzem a habilidade de descobrir mais bugs nos fases iniciais do desenvolvimento. Como consequência, é possível criar códigos mais confiáveis.

Quatro novos tipos especificados para valores return são  int, float, bool, e string. Só verifique os exemplos seguintes:

For further explanations, check this PHP 7 guide. We think that it is not necessary to repeat such a good material.

Threading ao PHP

PHP 7

No GitHub há um bom projeto que introduz multi-threading, compatível com PHP baseado em Posix Threads. Ele oferece as características seguintes:

  • Usabilidade. Esse OO Threading API para PHP 7 é muito fácil utilizar e  rápido para aprender.

  • Oportunidades amplas. Com a assistência do projeto, você vai poder executar tudo, métodos/funções predefinidos e definidos. O projeto apoia também closures.

  • Sinchronização. Threading para PHP inclui, sincronização pronta ao uso por padrão.

  • Ambientes SAPI. O projeto oferece uma operação uniforme nos ambientes multi-threaded SAPI.

Threading para PHP no GitHub

PHP7 Reference

PHP 7

PHP7 chega com monte de recursos, melhoramentos e mudanças. Você encontrar tudo no GitHub. Só siga o link abaixo:

Projeto PHP7 Reference no GitHub

php7cc

PHP 7

php7cc é um verificador de compatabilidade de PHP 7. Sendo um instrumento de CLI, o projeto é designado para simplificar a migração de the project is designed to simplify PHP 5.3-5.6 a PHP 7. php7cc examina códigos existente por statements potencialmente problemáticas e engendra relatórios de datas relativas ao nomes de ficheiros e numero de linhass. Além disso, o instrumento oferece descrições curtas de problemas. Por favor, não esqueça que php7cc não arregla problemas automaticamente. Se você quiser saber mais sobre o projeto, visite a página de GitHub abaixo

Receber php7cc (Verificador de compatibilidade PHP 7)