Principais novidades do PHP7

21
Por Walker de Alencar Principais novidades do PHP7

Transcript of Principais novidades do PHP7

Por Walker de Alencar

Principais novidades do PHP7

Quem?

Graduado em Desenvolvimento Web | Análise e Desenv. de Sistemas;

Desenvolve sistemas há mais de 18 anos.

Consultor especialista em PHP e Zend Certified Engineer (ZCE);

Arquiteto de software pela Poliedro, FNDE, CTIS, etc;

Atualmente:

Diretor Técnico da Wend Tecnologia.

Um dos Coordenadores do SGD no Portal Software Público

Membro do NFePHP

Walker de Alencar

Tópicos

1)E o PHP 6?2)Extensões Removidas3)Novas Funcionalidades4)Performance

Walker de Alencar

E o PHP6?

● Morreu antes de nascer…● Livros sobre PHP6 são da época do PHP5.2;● Amazon possui mais de 50 resultados para PHP6;● Votação: https://wiki.php.net/rfc/php6#vote

“… A votação foi encerrada. Por 58 a 24 votos, a próxima versão major do PHP, que sucederá as versões 5.x, será nomeada PHP 7.“

Walker de Alencar

Extensões removidas

● Ereg preg→● Mysql pdo e Mysqli→● Mssql pdo→● sybase_ct

PS.:Extensões estava depreciadas desde PHP5.3

Walker de Alencar

Depreciado

Remoção dos construtores do PHP4<?phpclass Veiculo{ public function veiculo() { // um construtor no PHP 4, lançará um E_DEPRECATED no PHP 7 } public function __construct() { // um construtor no PHP 5 }}

Walker de Alencar

Novas Funcionalidades

Palavras reservadas: int, float, string, bool;<?php// Coercive modefunction sumOfInts(int ...$ints){ return array_sum($ints);}

var_dump(sumOfInts(2, '3', 4.1));

Walker de Alencar

Novas Funcionalidades

Declaração de tipo de retorno<?php

function arraysSum(array ...$arrays): array{ return array_map(function(array $array): int { return array_sum($array); }, $arrays);}

print_r(arraysSum([1,2,3], [4,5,6], [7,8,9]));

Walker de Alencar

Novas Funcionalidades

Operador Spaceship <=> <?phpecho 1 <=> 1; // 0echo 1 <=> 2; // -1echo 2 <=> 1; // 1

Walker de Alencar

Novas Funcionalidades

Constante Array <?phpdefine('ANIMALS', [ 'dog', 'cat', 'bird']);

echo ANIMALS[1]; // outputs "cat"?>

Walker de Alencar

Novas Funcionalidades

Classe Anônima <?phpinterface Logger { public function log(string $msg);}...$app = new Application;$app->setLogger(new class implements Logger { public function log(string $msg) { echo $msg; }});

Walker de Alencar

Novas Funcionalidades

Operador “Null Coalesce” <?php$lista = ['chave' => 'valor'];// PHP 5.6$a = isset($lista['nao_tem']) ? $lista['nao_tem'] : 123; // válido$a = $lista['nao_tem'] ?: 123; // E_NOTICE se a chave não existir

// PHP 7$a = $lista['nao_tem'] ?? 123; // válido

Walker de Alencar

Novas Funcionalidades

Agrupamento de “use”<?phpuse yii\helpers\{ArrayHelper, Html, Url};

Walker de Alencar

Performance

Melhorou muito! está 1.5x a 2x mais rápido

do que o PHP5.6

Walker de Alencar

Performance

a

Walker de AlencarFonte: zend.com

Performance

Walker de AlencarFonte: zend.com

Performance

Walker de AlencarFonte: zend.com

Resumindo...

Walker de Alencar

v5.6 v7

VS

Perguntas

Walker de Alencar

Referências

● https://medium.com/tenha-perspectiva/principais-novidades-do-php-7-6821683fc9a

● http://www.profissionaisti.com.br/2015/09/10-novidades-do-php-7/

● http://diogobesson.com.br/desenvolvimento-web/php/novidades-do-php-7/

● http://fronteiratec.com/blog/conheca-as-principais-novidades-do-php-7/

Walker de Alencar

Contatos

Walker de Alencar

Walker de Alencar

@walkeralencar

[email protected]