PHP 7 10 coisas que você precisa saber
Você é um desenvolvedor da web ou proprietário de um website? Seus sites são executados em CMS com PHP, como WordPress, Drupal, Joomla ou Magento? Então tenho boas notícias para você: a versão beta completa do novo recurso O PHP 7 foi lançado recentemente. O lançamento principal do 7.0.0 contém tantos recursos interessantes que decidimos dedicar um post inteiro a ele. Mas primeiro, precisamos inserir alguns lembretes.
Note que o PHP 7 ainda está em fase de desenvolvimento não use em produção até novembro, quando o versão final será lançado. Se - como um usuário futuro - você quiser tirar o seu quinhão do processo de desenvolvimento, você pode ajudar com o download da última versão beta, brincando com ela em seu ambiente de testes e reportando bugs encontrados durante o teste. Para descobrir quando o próximo beta será lançado, aqui está o cronograma do projeto.
Com isso fora do caminho, vamos verificar o PHP 7.
1. O nome do PHP 7 (não 6)
A versão estável atual usa o número da versão PHP 5.6. Depois de alguma disputa, a equipe de desenvolvimento decidiu que omitiria o nome do PHP 6 para o próximo grande lançamento. O PHP 6 já existia no passado como um projeto experimental, mas nunca chegou à fase de produção.
Para evitar que os usuários misturem a primeira tentativa com o desenvolvimento mais recente, a nova versão principal será executada sob o nome de PHP 7.
2. A Marca Spanking New Zend Engine
O mecanismo Zend tem alimentado o PHP desde 1999, quando foi introduzido com o então novo lançamento do PHP 4. Zend - não confundir com o Zend Framework - é um mecanismo de execução de código aberto escrito em C que interpreta a linguagem PHP. O uso atual da série PHP 5.X Zend Engine II que melhorou a funcionalidade do motor inicial e adiciona uma modelo de objeto extensível e um melhoria significativa de desempenho para o idioma.
O PHP 7 recebe uma nova versão do mecanismo que vem sob o nome de código de PHP # NG (Next Generation).
3. Duas vezes a velocidade
A vantagem mais facilmente reconhecível do novo mecanismo PHPNG é a melhoria significativa no desempenho. A equipe de desenvolvimento do PHPNG refatorou o Zend Engine e otimizou notavelmente o uso de memória.
Os resultados? Você pode ver os benchmarks de desempenho fornecidos pelo Zend Performance Team abaixo. Usando PHP 7 não só seu código será executado mais rapidamente mas você também precisa de menos servidores para atender a mesma quantidade de usuários.
4. Facilita o tratamento de erros
Para dizer o mínimo, lidar com erros fatais fatais e memoráveis nunca foi uma tarefa fácil para codificadores PHP. O novo Exceções de mecanismo permitirá que você substitua esse tipo de erro por exceções. Se a exceção não for detectada, o PHP continuará a retornar os mesmos erros fatais da série 5.X atual..
O novo \ EngineException objetos não estendem o \Exceção Classe base. Isso garante compatibilidade com versões anteriores e resulta em dois tipos diferentes de exceções no tratamento de erros: tradicional e exceções de mecanismo.
Para permitir que os programadores capturem ambos, o PHP 7 introduz um novo Classe Parental Compartilhada sob o nome de \ BaseException.
5. Suporte a sistemas Windows de 64 bits
O PHP é um membro proeminente da pilha LAMP, o que significa que seu ambiente nativo é o Linux - mas também é possível executá-lo em um sistema Windows. A série 5.X ainda não oferece suporte a arquivos grandes ou inteiros de 64 bits, então até agora as construções x64 foram consideradas experimental.
PHP 7 vai mudar isso como introduz suporte consistente de 64 bits o que significa que os números inteiros de 64 bits nativos e os arquivos grandes serão suportados, permitindo que você execute com segurança o idioma em seu sistema Windows de 64 bits no futuro.
6. Novas Nave Espacial e Operadores Coalescentes Nulos
o Operador de espaçonave é executado sob o nome oficial do operador de comparação combinada. A notação do novo operador é assim: <=>
(como uma nave espacial simplificada, se você imaginar isso certo).
O operador da nave espacial retorna 0 se ambos os operandos forem iguais, 1 se a esquerda for maior e -1 se a direita for maior. É também chamado de operador de comparação de três vias, e já existe em outras linguagens de programação populares como Perl e Ruby.
O operador Coalescente Nulo é denotado com dois pontos de interrogação (??). Você pode usá-lo quando quiser verificar se existe algo e retornar um valor padrão, caso isso não aconteça. O operador coalesce retorna o resultado de seu primeiro operando se ele existir e não é nulo, e o segundo operando em qualquer outro caso.
Veja como o novo operador reduz o tempo gasto com declarações básicas:
7. Permite Declarações de Tipo Exatas
Você já desejou evitar valores de retorno não intencionais, declarando o tipo de retorno de uma função? Bem, o novo PHP 7 permite que os desenvolvedores melhorem a qualidade de seu código com a ajuda de declarações de tipo de retorno.
A imagem abaixo mostra um caso de uso muito simples em que foo () função é suposto para retornar uma matriz. Confira exemplos mais complicados aqui.
Para aprimorar ainda mais o recurso, o PHP 7 introduz 4 novas declarações de tipo para tipos escalares: int, float, string e bool. Os novos tipos escalares permitem que os desenvolvedores denotem que esperam números inteiros, flutuantes, cadeias de caracteres ou booleanos a serem retornados. Os novos tipos escalares introduzidos pelo PHP 7 também serão suportados pelo argumento Type Hints, que permite aos desenvolvedores forçar o tipo de parâmetros desde a série PHP 5.X.
8. Adiciona Classes Anônimas
O PHP 7 permite que você use classes anônimas, já uma prática bem estabelecida em outras linguagens orientadas a objetos, como C # e Java. Uma turma anônima é uma turma sem nome. O objeto que instancia tem a mesma funcionalidade que um objeto de uma classe nomeada.
A sintaxe é a mesma que estamos acostumados em classes PHP tradicionais, apenas o nome está faltando. Se classes anônimas são usadas bem, elas podem acelerar a codificação, bem como tempo de execução. As classes anônimas são excelentes quando uma classe é usada apenas uma vez durante a execução e em casos em que uma classe não precisa ser documentada.
9. Facilita as importações do mesmo espaço de nome
O novo recurso Declarações de Uso de Grupo será deuses para aqueles que quiserem importe muitas classes do mesmo namespace. A nova sintaxe corta a verbosidade, torna seu código mais ordenado e mais fácil para os olhos e economiza muito tempo de digitação.
Também será mais fácil ler e depurar códigos, pois as declarações de uso de grupo ajudam a identificar as importações que pertencem ao mesmo módulo.
10. Limpa o quarto
O objetivo do PHP 7 era liberar espaço para permitir melhorias, por isso foi necessário livrar-se de muitas funcionalidades obsoletas e APIs e extensões de servidor antigas e não suportadas. Se você quiser verificar quais são estes em detalhes, clique aqui e aqui.
Todos os itens removidos foram preteridos por um tempo no PHP 5, então é muito provável que você não os tenha usado por um longo tempo. No entanto, observe se você tem um aplicativo legado rodando em versões antigas do PHP o novo PHP 7 pode potencialmente quebrar o código.