SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
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 Removidas
3)Novas Funcionalidades
4)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
<?php
class 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 mode
function 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 <=>
<?php
echo 1 <=> 1; // 0
echo 1 <=> 2; // -1
echo 2 <=> 1; // 1
Walker de Alencar
Novas Funcionalidades
Constante Array
<?php
define('ANIMALS', [
'dog',
'cat',
'bird'
]);
echo ANIMALS[1]; // outputs "cat"
?>
Walker de Alencar
Novas Funcionalidades
Classe Anônima
<?php
interface 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”
<?php
use yiihelpers{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 Alencar
Fonte: zend.com
Performance
Walker de Alencar
Fonte: zend.com
Performance
Walker de Alencar
Fonte: 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
walkeralencar@gmail.com

Mais conteúdo relacionado

Destaque

[Srijan Wednesday Webinars] Unraveling Drupal as a Versatile Enterprise Solution
[Srijan Wednesday Webinars] Unraveling Drupal as a Versatile Enterprise Solution[Srijan Wednesday Webinars] Unraveling Drupal as a Versatile Enterprise Solution
[Srijan Wednesday Webinars] Unraveling Drupal as a Versatile Enterprise SolutionSrijan Technologies
 
Froga
FrogaFroga
Frogapaz
 
Cronograma universiada2010
Cronograma universiada2010Cronograma universiada2010
Cronograma universiada2010guest54c70c
 
[Srijan Wednesday Webinars] Meet Commerce 2.X
[Srijan Wednesday Webinars]  Meet Commerce 2.X[Srijan Wednesday Webinars]  Meet Commerce 2.X
[Srijan Wednesday Webinars] Meet Commerce 2.XSrijan Technologies
 
Strategy for a Digital World
Strategy for a Digital WorldStrategy for a Digital World
Strategy for a Digital WorldGerrie Smits
 
CSEC Results - Territorial Merit List 2014 - Jamaica
CSEC Results - Territorial Merit List 2014 - JamaicaCSEC Results - Territorial Merit List 2014 - Jamaica
CSEC Results - Territorial Merit List 2014 - JamaicaRushane Barnes
 

Destaque (15)

Competencias!
Competencias!Competencias!
Competencias!
 
Presentacion
PresentacionPresentacion
Presentacion
 
První bydlení
První bydleníPrvní bydlení
První bydlení
 
Final
FinalFinal
Final
 
[Srijan Wednesday Webinars] Unraveling Drupal as a Versatile Enterprise Solution
[Srijan Wednesday Webinars] Unraveling Drupal as a Versatile Enterprise Solution[Srijan Wednesday Webinars] Unraveling Drupal as a Versatile Enterprise Solution
[Srijan Wednesday Webinars] Unraveling Drupal as a Versatile Enterprise Solution
 
Jonathan madrid
Jonathan madridJonathan madrid
Jonathan madrid
 
11
1111
11
 
Froga
FrogaFroga
Froga
 
Cronograma universiada2010
Cronograma universiada2010Cronograma universiada2010
Cronograma universiada2010
 
38
3838
38
 
[Srijan Wednesday Webinars] Meet Commerce 2.X
[Srijan Wednesday Webinars]  Meet Commerce 2.X[Srijan Wednesday Webinars]  Meet Commerce 2.X
[Srijan Wednesday Webinars] Meet Commerce 2.X
 
Dogecoin - Guia Básico:
Dogecoin - Guia Básico:Dogecoin - Guia Básico:
Dogecoin - Guia Básico:
 
Business Learning From E-Sports
Business Learning From E-SportsBusiness Learning From E-Sports
Business Learning From E-Sports
 
Strategy for a Digital World
Strategy for a Digital WorldStrategy for a Digital World
Strategy for a Digital World
 
CSEC Results - Territorial Merit List 2014 - Jamaica
CSEC Results - Territorial Merit List 2014 - JamaicaCSEC Results - Territorial Merit List 2014 - Jamaica
CSEC Results - Territorial Merit List 2014 - Jamaica
 

Semelhante a Principais novidades do PHP7

Programando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkProgramando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkPablo Dall'Oglio
 
Aula 02 - Introdução ao PHP - Programação Web
Aula 02  - Introdução ao PHP - Programação WebAula 02  - Introdução ao PHP - Programação Web
Aula 02 - Introdução ao PHP - Programação WebDalton Martins
 
Criando plugins jQuery
Criando plugins jQueryCriando plugins jQuery
Criando plugins jQueryRicardo Coelho
 
Apresentando o EcmaScript 6
Apresentando o EcmaScript 6Apresentando o EcmaScript 6
Apresentando o EcmaScript 6Giovanni Bassi
 
Preparando-se para a prova da Certificação Zend PHP 5.3
Preparando-se para a prova da Certificação Zend PHP 5.3Preparando-se para a prova da Certificação Zend PHP 5.3
Preparando-se para a prova da Certificação Zend PHP 5.3klaussilveira
 
PHP like a super hero
PHP like a super heroPHP like a super hero
PHP like a super heroElton Minetto
 
M5-Desenvolvimento-Paginas-Web
M5-Desenvolvimento-Paginas-WebM5-Desenvolvimento-Paginas-Web
M5-Desenvolvimento-Paginas-Webdiogoa21
 
Código legado - PHP Conference Brasil - 2014
Código legado - PHP Conference Brasil - 2014Código legado - PHP Conference Brasil - 2014
Código legado - PHP Conference Brasil - 2014Michael Castillo Granados
 
PHP, mas o que é isso ?
PHP, mas o que é isso ?PHP, mas o que é isso ?
PHP, mas o que é isso ?phpal
 
Aula 5 PHP - Criação de sites II
Aula 5 PHP - Criação de sites IIAula 5 PHP - Criação de sites II
Aula 5 PHP - Criação de sites IIinfo_cimol
 
Memcached, Gearman e Sphinx
Memcached, Gearman e SphinxMemcached, Gearman e Sphinx
Memcached, Gearman e SphinxElton Minetto
 
(A10) LabMM3 - JavaScript - Subalgoritmos
(A10) LabMM3 - JavaScript - Subalgoritmos(A10) LabMM3 - JavaScript - Subalgoritmos
(A10) LabMM3 - JavaScript - SubalgoritmosCarlos Santos
 

Semelhante a Principais novidades do PHP7 (20)

Tutorial JavaFX simples
Tutorial JavaFX simplesTutorial JavaFX simples
Tutorial JavaFX simples
 
Programando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkProgramando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um Framework
 
Aula 02 - Introdução ao PHP - Programação Web
Aula 02  - Introdução ao PHP - Programação WebAula 02  - Introdução ao PHP - Programação Web
Aula 02 - Introdução ao PHP - Programação Web
 
Criando plugins jQuery
Criando plugins jQueryCriando plugins jQuery
Criando plugins jQuery
 
Novidades do PHP 5.3 e 6
Novidades do PHP 5.3 e 6Novidades do PHP 5.3 e 6
Novidades do PHP 5.3 e 6
 
PHP(I-Bim).ppt
PHP(I-Bim).pptPHP(I-Bim).ppt
PHP(I-Bim).ppt
 
Apresentando o EcmaScript 6
Apresentando o EcmaScript 6Apresentando o EcmaScript 6
Apresentando o EcmaScript 6
 
Preparando-se para a prova da Certificação Zend PHP 5.3
Preparando-se para a prova da Certificação Zend PHP 5.3Preparando-se para a prova da Certificação Zend PHP 5.3
Preparando-se para a prova da Certificação Zend PHP 5.3
 
TDC 2016 - PHP7
TDC 2016 - PHP7TDC 2016 - PHP7
TDC 2016 - PHP7
 
Ganhando tempo com casos de testes
Ganhando tempo com casos de testesGanhando tempo com casos de testes
Ganhando tempo com casos de testes
 
PHP like a super hero
PHP like a super heroPHP like a super hero
PHP like a super hero
 
M5-Desenvolvimento-Paginas-Web
M5-Desenvolvimento-Paginas-WebM5-Desenvolvimento-Paginas-Web
M5-Desenvolvimento-Paginas-Web
 
Código legado - PHP Conference Brasil - 2014
Código legado - PHP Conference Brasil - 2014Código legado - PHP Conference Brasil - 2014
Código legado - PHP Conference Brasil - 2014
 
PHP, mas o que é isso ?
PHP, mas o que é isso ?PHP, mas o que é isso ?
PHP, mas o que é isso ?
 
Php Math and arrays
Php Math and arraysPhp Math and arrays
Php Math and arrays
 
Mini Curso de PHP
Mini Curso de PHPMini Curso de PHP
Mini Curso de PHP
 
Aula 5 PHP - Criação de sites II
Aula 5 PHP - Criação de sites IIAula 5 PHP - Criação de sites II
Aula 5 PHP - Criação de sites II
 
Memcached, Gearman e Sphinx
Memcached, Gearman e SphinxMemcached, Gearman e Sphinx
Memcached, Gearman e Sphinx
 
(A10) LabMM3 - JavaScript - Subalgoritmos
(A10) LabMM3 - JavaScript - Subalgoritmos(A10) LabMM3 - JavaScript - Subalgoritmos
(A10) LabMM3 - JavaScript - Subalgoritmos
 
Ruby On Rails Regis
Ruby On Rails RegisRuby On Rails Regis
Ruby On Rails Regis
 

Principais novidades do PHP7