principais novidades do php7

21
Por Walker de Alencar Principais novidades do PHP7

Upload: walkeralencar

Post on 11-Jan-2017

349 views

Category:

Technology


0 download

TRANSCRIPT

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]