SlideShare una empresa de Scribd logo
Novedades de PHP 7.*
Por Yannick Warnier – PHP Day Perú 2017 II
Versiones de PHP
http://php.net/supported-versions.php
Versiones de PHP
https://en.wikipedia.org/wiki/PHP
Versiones de PHP
https://en.wikipedia.org/wiki/PHP
3 años!!!
Versiones de PHP
https://en.wikipedia.org/wiki/PHP
Versiones de PHP
https://en.wikipedia.org/wiki/PHP
Versiones recientes?
http://php.net/
Donde encontrar los cambios?
http://php.net/
5.6 a 7.0
5.6 a 7.0: BW incompatible
●
Dejar set_exception_handler() por
Exception/Throwable
●
Constructores internos: siempre devuelven
exceptions cuando fallan
●
Parse errors → “ParseError” object exception
http://php.net/manual/en/migration70.incompatible.php
5.6 a 7.0: BW incompatible
●
E_STRICT
http://php.net/manual/en/migration70.incompatible.php
5.6 a 7.0: BW incompatible
●
E_STRICT
http://php.net/manual/en/migration70.incompatible.php
5.6 a 7.0: BW incompatible
●
Gestión de variables
http://php.net/manual/en/migration70.incompatible.php
5.6 a 7.0: BW incompatible
●
list() funciona al revés para variables/arrays
http://php.net/manual/en/migration70.incompatible.php
5.6 a 7.0: BW incompatible
●
list() ya no funciona vacío. Prohibido:
http://php.net/manual/en/migration70.incompatible.php
5.6 a 7.0: BW incompatible
●
Variables variables no pueden usarse con global
http://php.net/manual/en/migration70.incompatible.php
5.6 a 7.0: BW incompatible
●
Parentesis alrededor de argumentos
http://php.net/manual/en/migration70.incompatible.php
Notice: Only variables should be passed by reference in /tmp/test.php on line 13
5.6 a 7.0: BW incompatible
●
foreach ya no cambia el puntero interno
5.6 a 7.0: BW incompatible
●
foreach ya no usa el array de iteración mientras
itera, en el caso de un foreach por valores
●
foreach puede modificar el array de iteración al
vuelo durante su iteración
5.6 a 7.0: BW incompatible
●
Literales octales inválidos
●
0128 ya no es cortado a 012 automáticamente
●
Ya bota un PARSE ERROR
●
Bitshifts negativos
●
var_dump(1 >> -1) → ArithmeticError
●
División por 0
●
De E_WARNING a DivisionByZeroError
5.6 a 7.0: BW incompatible
●
String con hexadecimales ya no son “numeric”
●
is_numeric(‘0x123’) → false
●
substr(‘foo’, ‘0x1’) → Notice: non-well formed
numeric value…
●
u{EFEZRFZ → FATAL ERROR (unicode)
5.6 a 7.0: BW incompatible
●
call_user_method() + call_user_method_array()
●
Eliminadas (call_user_func())
●
Fin de “ereg” (ver preg)
●
Funciones mcrypt_* eliminadas
●
ext/mysql y ext/mssql eliminados
●
set_magic_quotes_runtime() → eliminado
●
set_socket_blocking() → removed
5.6 a 7.0: BW incompatible
●
dl() no se puede usar en PHP-FPM
●
always_populate_raw_post_data + asp_tags:
removed
●
xsl.security_prefs removed
5.6 a 7.0: BW incompatible
●
Resultados de “new” ya no pueden ser
asignados por referencia (PARSE ERROR)
●
Etiquetas ASP y script eliminadas:
●
<%
●
<%=
●
<script language=”php”>
●
Yield (varios cambios)
5.6 a 7.0: BW incompatible
●
Ya no switch() con multiple “default:”
●
$HTTP_RAW_POST_DATA... ya fue
●
Comentarios # en los archivos .ini … ya fueron
●
JSON remplazado por JSOND
●
34. → 34 o 34.0
●
3.e3 → 3.0e3 o 3e3
●
“” → no es válido
●
Otras cosas de funciones, session handlers y
orden de ordenamiento
5.6 a 7.0: Lo nuevo
●
Declaración escalares (coerciva o estricta)
5.6 a 7.0: Lo nuevo
●
Declaración tipo de retorno
5.6 a 7.0: Lo nuevo
●
Null coalescing operator
5.6 a 7.0: Lo nuevo
●
Spaceship
5.6 a 7.0: Lo nuevo
●
Arrays constantes
●
Clases anónimas
●
new class implements Logger { ... }
●
closure::call()
●
unserialize() filtrado (whitelist de clases)
●
expectations/assert()
●
“use” agrupado:
●
use somenamespace{ClassA, ClassC as C};
5.6 a 7.0: Lo nuevo
●
Generadores
●
session_start() opciones como arrays
●
Nueva función preg_replace_callback_array()
●
CSPRNG (cifrado)
5.6 a 7.0: Eliminados
●
Constructores tipo PHP 4
5.6 a 7.0: Eliminados
●
Llamadas estáticas a métodos no-estáticos
●
password_hash() salt
●
ldap_sort()
●
Warning sobre date.timezone (default UTC)
7.0 a 7.1: BW incompatible
●
ArgumentCountError exception (Fatal Error)
●
error_log funciona con syslog
●
$str[ ] ya no está autorizado para strings!!!!
●
…
●
Mcrypt... ya fue
7.0 a 7.1: Lo nuevo
●
DateTime incluye microsegundos
●
Fatal errors → Error exception en muchas clases
●
Nullable types: function test(?string $name) { ...
●
Void functions: function edit(&$left): void { …
●
[ ] como list: [$id1, $name1] = $data;
●
Visibilidad de constantes de clases
7.0 a 7.1: Lo nuevo
●
Pseudo-tipo “iterable”: function iterator(iterable $a)
●
Excepciones multi-catch
●
} catch (FirstException | SecondException $e) {
●
Soporte de keys en list()
●
Soporte para offsets negativos en strings
●
var_dump(“abcdef”[-2]) → “e”
●
HTTP/2 server push support in ext/curl
7.0 a 7.1: Lo nuevo
●
E_WARNING y E_NOTICE cuando
●
‘1b’ + ‘algo’;
7.1 a 7.2: BW incompatible
●
No mucho
●
Strings sin comillas que no son constantes pasan
de lanzar un E_NOTICE a un E_WARNING
●
__autoload() ya no va (spl_autoload_register() sí)
●
create_function() ya no va
●
(unset) algo → ya no va
●
each() ya no va. Use foreach()
●
7.1 a 7.2: Lo nuevo
●
Tipo “object” para aceptar cualquier objeto
●
function test(object $obj) : object
●
Carga de extensiones en .ini por su nombre sin
extensión (.so/.dll)
●
Sobreescribir métodos abstractos
●
Sodium incluido en core (criptografía avanzada)
●
Varias cosas para PDO, LDAP, EXIF y Sockets
7.* en general: optimizaciones
●
$a = “$b and $c”; mejor que $a = $b.” and “.$c;
●
“Hey” . strlen($str); mejor que “Hey” . strlen($str);
https://www.slideshare.net/jpauli/symfonycon-2017-php7-performances
7.* en general: optimizaciones
●
Mejor arrays con índices numéricos incrementales
solo (no necesariamente paso de 1)
https://www.slideshare.net/jpauli/symfonycon-2017-php7-performances
Gracias! Preguntas?
Yannick Warnier
CTO - BeezNest
Presidente/Leader – Chamilo
@ywarnier

Más contenido relacionado

La actualidad más candente

Introducción a PHP - Programador PHP - UGR
Introducción a PHP - Programador PHP - UGRIntroducción a PHP - Programador PHP - UGR
Introducción a PHP - Programador PHP - UGR
Juan Belón Pérez
 
Javascript Básico
Javascript BásicoJavascript Básico
Javascript Básico
camposer
 
Semana 6 Módulos en Python Entrega 2
Semana 6   Módulos en Python Entrega 2Semana 6   Módulos en Python Entrega 2
Semana 6 Módulos en Python Entrega 2
Richard Eliseo Mendoza Gafaro
 
Php y MySQL
Php y MySQLPhp y MySQL
Php y MySQL
Karis
 
Tema V: Funciones
Tema V: FuncionesTema V: Funciones
Tema V: Funciones
rasave
 
Reactividad en Angular, React y VueJS
Reactividad en Angular, React y VueJSReactividad en Angular, React y VueJS
Reactividad en Angular, React y VueJS
Javier Abadía
 
JAVA SERVER FACES - LECCION 01 - PRIMEROS PASOS
JAVA SERVER FACES - LECCION 01 - PRIMEROS PASOSJAVA SERVER FACES - LECCION 01 - PRIMEROS PASOS
JAVA SERVER FACES - LECCION 01 - PRIMEROS PASOS
Eric Gustavo Coronel Castillo
 
4.Programación con PHP y MySQL
4.Programación con PHP y MySQL4.Programación con PHP y MySQL
4.Programación con PHP y MySQL
Ramiro Estigarribia Canese
 
AngularJS Patterns: Clean Code
AngularJS Patterns: Clean CodeAngularJS Patterns: Clean Code
AngularJS Patterns: Clean Code
Francesc Jimenez
 
Php
PhpPhp
3 curso php
3 curso php3 curso php
3 curso php
Jesus Luque Medina
 
Java Web Lección 03 - MVC
Java Web Lección 03 - MVCJava Web Lección 03 - MVC
Java Web Lección 03 - MVC
Eric Gustavo Coronel Castillo
 

La actualidad más candente (20)

Php
PhpPhp
Php
 
Angular Conceptos Practicos 2
Angular Conceptos Practicos 2Angular Conceptos Practicos 2
Angular Conceptos Practicos 2
 
Presentacion
PresentacionPresentacion
Presentacion
 
Advanced angular 2
Advanced angular 2Advanced angular 2
Advanced angular 2
 
Introducción a PHP - Programador PHP - UGR
Introducción a PHP - Programador PHP - UGRIntroducción a PHP - Programador PHP - UGR
Introducción a PHP - Programador PHP - UGR
 
Javascript Básico
Javascript BásicoJavascript Básico
Javascript Básico
 
Semana 6 Módulos en Python Entrega 2
Semana 6   Módulos en Python Entrega 2Semana 6   Módulos en Python Entrega 2
Semana 6 Módulos en Python Entrega 2
 
Php y MySQL
Php y MySQLPhp y MySQL
Php y MySQL
 
Tema V: Funciones
Tema V: FuncionesTema V: Funciones
Tema V: Funciones
 
Reactividad en Angular, React y VueJS
Reactividad en Angular, React y VueJSReactividad en Angular, React y VueJS
Reactividad en Angular, React y VueJS
 
JAVA SERVER FACES - LECCION 01 - PRIMEROS PASOS
JAVA SERVER FACES - LECCION 01 - PRIMEROS PASOSJAVA SERVER FACES - LECCION 01 - PRIMEROS PASOS
JAVA SERVER FACES - LECCION 01 - PRIMEROS PASOS
 
4.Programación con PHP y MySQL
4.Programación con PHP y MySQL4.Programación con PHP y MySQL
4.Programación con PHP y MySQL
 
AngularJS Patterns: Clean Code
AngularJS Patterns: Clean CodeAngularJS Patterns: Clean Code
AngularJS Patterns: Clean Code
 
Php1
Php1Php1
Php1
 
Curso php y_my_sql
Curso php y_my_sqlCurso php y_my_sql
Curso php y_my_sql
 
Php
PhpPhp
Php
 
3 curso php
3 curso php3 curso php
3 curso php
 
Php basico
Php basicoPhp basico
Php basico
 
Jsf
JsfJsf
Jsf
 
Java Web Lección 03 - MVC
Java Web Lección 03 - MVCJava Web Lección 03 - MVC
Java Web Lección 03 - MVC
 

Similar a Novedades de PHP 7.*

PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdfPHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf
Raaulroodriguez
 
Curso Php
Curso PhpCurso Php
Curso Php
larasaregune
 
Introducción a Php basico
Introducción a Php basicoIntroducción a Php basico
Introducción a Php basico
Ronald Franz Nina Layme
 
Masterclass ADWE Madrid
Masterclass ADWE MadridMasterclass ADWE Madrid
Masterclass ADWE Madrid
Kubide
 
33 php
33 php33 php
33 php
Jose Garcia
 
Intro a cakephp
Intro a cakephpIntro a cakephp
Intro a cakephp
Andy Dawson
 
Intro a cakephp
Intro a cakephpIntro a cakephp
Intro a cakephpbetabeers
 
3 Introducción al lenguaje PHP
3 Introducción al lenguaje PHP3 Introducción al lenguaje PHP
3 Introducción al lenguaje PHP
Jose Emilio Labra Gayo
 
MAnual de php básico
MAnual de php básicoMAnual de php básico
MAnual de php básico
Cleote
 
APIs REST: Django y Go
APIs REST: Django y GoAPIs REST: Django y Go
APIs REST: Django y Go
JM Robles
 
Evidencia: Sesión Virtual Funciones PHP
Evidencia: Sesión Virtual Funciones PHPEvidencia: Sesión Virtual Funciones PHP
Evidencia: Sesión Virtual Funciones PHP
Sebastián Joya
 
Todo lo que necesitas saber sobre Drupal 8
Todo lo que necesitas saber sobre Drupal 8Todo lo que necesitas saber sobre Drupal 8
Todo lo que necesitas saber sobre Drupal 8
Acquia
 
Twig y otros "themas" en Drupal 8
Twig y otros "themas" en Drupal 8Twig y otros "themas" en Drupal 8
Twig y otros "themas" en Drupal 8
Pakman Lh
 
Guia jQuery INCES Militar - Kurt Gude
Guia jQuery INCES Militar - Kurt GudeGuia jQuery INCES Militar - Kurt Gude
Guia jQuery INCES Militar - Kurt Gude
José Ricardo Tillero Giménez
 
Guia programacionwebbasicophp
Guia programacionwebbasicophpGuia programacionwebbasicophp
Guia programacionwebbasicophp
lissette_torrealba
 
Gwt III - Avanzado
Gwt III - AvanzadoGwt III - Avanzado
Gwt III - Avanzado
Manuel Carrasco Moñino
 
Ansible administracion simplificada
Ansible   administracion simplificada Ansible   administracion simplificada
Ansible administracion simplificada
bcoca
 

Similar a Novedades de PHP 7.* (20)

PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdfPHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf
 
Curso Php
Curso PhpCurso Php
Curso Php
 
Introducción a Php basico
Introducción a Php basicoIntroducción a Php basico
Introducción a Php basico
 
Masterclass ADWE Madrid
Masterclass ADWE MadridMasterclass ADWE Madrid
Masterclass ADWE Madrid
 
33 php
33 php33 php
33 php
 
Intro a cakephp
Intro a cakephpIntro a cakephp
Intro a cakephp
 
Intro a cakephp
Intro a cakephpIntro a cakephp
Intro a cakephp
 
3 Introducción al lenguaje PHP
3 Introducción al lenguaje PHP3 Introducción al lenguaje PHP
3 Introducción al lenguaje PHP
 
MAnual de php básico
MAnual de php básicoMAnual de php básico
MAnual de php básico
 
php y mysql
php y mysqlphp y mysql
php y mysql
 
APIs REST: Django y Go
APIs REST: Django y GoAPIs REST: Django y Go
APIs REST: Django y Go
 
Evidencia: Sesión Virtual Funciones PHP
Evidencia: Sesión Virtual Funciones PHPEvidencia: Sesión Virtual Funciones PHP
Evidencia: Sesión Virtual Funciones PHP
 
Todo lo que necesitas saber sobre Drupal 8
Todo lo que necesitas saber sobre Drupal 8Todo lo que necesitas saber sobre Drupal 8
Todo lo que necesitas saber sobre Drupal 8
 
Twig y otros "themas" en Drupal 8
Twig y otros "themas" en Drupal 8Twig y otros "themas" en Drupal 8
Twig y otros "themas" en Drupal 8
 
Php!
Php!Php!
Php!
 
Guia jQuery INCES Militar - Kurt Gude
Guia jQuery INCES Militar - Kurt GudeGuia jQuery INCES Militar - Kurt Gude
Guia jQuery INCES Militar - Kurt Gude
 
Guia programacionwebbasicophp
Guia programacionwebbasicophpGuia programacionwebbasicophp
Guia programacionwebbasicophp
 
Gwt III - Avanzado
Gwt III - AvanzadoGwt III - Avanzado
Gwt III - Avanzado
 
Web Mapping con Django
Web Mapping con DjangoWeb Mapping con Django
Web Mapping con Django
 
Ansible administracion simplificada
Ansible   administracion simplificada Ansible   administracion simplificada
Ansible administracion simplificada
 

Más de Yannick Warnier

Chamilo, 12 ans déjà
Chamilo, 12 ans déjàChamilo, 12 ans déjà
Chamilo, 12 ans déjà
Yannick Warnier
 
Chamilo en FLISOL Perú 2018
Chamilo en FLISOL Perú 2018Chamilo en FLISOL Perú 2018
Chamilo en FLISOL Perú 2018
Yannick Warnier
 
The benefits of using Git
The benefits of using GitThe benefits of using Git
The benefits of using Git
Yannick Warnier
 
Skillms, solution de gestion des talents
Skillms, solution de gestion des talentsSkillms, solution de gestion des talents
Skillms, solution de gestion des talents
Yannick Warnier
 
Chamilo "Lectoura", proyecto Hackaton EdTech, Lima 2017
Chamilo "Lectoura", proyecto Hackaton EdTech, Lima 2017Chamilo "Lectoura", proyecto Hackaton EdTech, Lima 2017
Chamilo "Lectoura", proyecto Hackaton EdTech, Lima 2017
Yannick Warnier
 
Novedades de Chamilo 1.11 - 2017
Novedades de Chamilo 1.11 - 2017Novedades de Chamilo 1.11 - 2017
Novedades de Chamilo 1.11 - 2017
Yannick Warnier
 
Chamilo, qu'est-ce? - Chamilo Camp Lyon 2017
Chamilo, qu'est-ce? - Chamilo Camp Lyon 2017Chamilo, qu'est-ce? - Chamilo Camp Lyon 2017
Chamilo, qu'est-ce? - Chamilo Camp Lyon 2017
Yannick Warnier
 
L'avenir de Chamilo - 2017
L'avenir de Chamilo - 2017L'avenir de Chamilo - 2017
L'avenir de Chamilo - 2017
Yannick Warnier
 
Introducción a Nginx y PHP FPM
Introducción a Nginx y PHP FPMIntroducción a Nginx y PHP FPM
Introducción a Nginx y PHP FPM
Yannick Warnier
 
Desarrollo del plugin Chamilo-Wordpress
Desarrollo del plugin Chamilo-WordpressDesarrollo del plugin Chamilo-Wordpress
Desarrollo del plugin Chamilo-Wordpress
Yannick Warnier
 
Calidad de código en Chamilo: Behat, Travis-CI y Scrutinizer-CI
Calidad de código en Chamilo: Behat, Travis-CI y Scrutinizer-CICalidad de código en Chamilo: Behat, Travis-CI y Scrutinizer-CI
Calidad de código en Chamilo: Behat, Travis-CI y Scrutinizer-CI
Yannick Warnier
 
Como usar un aula virtual como recurso educativo - Caso Chamilo
Como usar un aula virtual como recurso educativo - Caso ChamiloComo usar un aula virtual como recurso educativo - Caso Chamilo
Como usar un aula virtual como recurso educativo - Caso Chamilo
Yannick Warnier
 
Asociación Chamilo
Asociación ChamiloAsociación Chamilo
Asociación Chamilo
Yannick Warnier
 
Crear cursos-virtuales-chamilo-flisol-2014
Crear cursos-virtuales-chamilo-flisol-2014Crear cursos-virtuales-chamilo-flisol-2014
Crear cursos-virtuales-chamilo-flisol-2014Yannick Warnier
 
Chamilo LMS y otros LMSes - Universidad de Valencia, España - Octubre 2013
Chamilo LMS y otros LMSes - Universidad de Valencia, España - Octubre 2013Chamilo LMS y otros LMSes - Universidad de Valencia, España - Octubre 2013
Chamilo LMS y otros LMSes - Universidad de Valencia, España - Octubre 2013Yannick Warnier
 
Prepa certificación docente Chamilo 1.8 (CHACOBU)
Prepa certificación docente Chamilo 1.8 (CHACOBU)Prepa certificación docente Chamilo 1.8 (CHACOBU)
Prepa certificación docente Chamilo 1.8 (CHACOBU)
Yannick Warnier
 
Chamilo advantages against other LMSes
Chamilo advantages against other LMSesChamilo advantages against other LMSes
Chamilo advantages against other LMSes
Yannick Warnier
 
Taller de optimizacion de servidores web tipo LAMP
Taller de optimizacion de servidores web tipo LAMPTaller de optimizacion de servidores web tipo LAMP
Taller de optimizacion de servidores web tipo LAMP
Yannick Warnier
 
Chamilo, c'est pas le Pérou - Jeudis du libre
Chamilo, c'est pas le Pérou - Jeudis du libreChamilo, c'est pas le Pérou - Jeudis du libre
Chamilo, c'est pas le Pérou - Jeudis du libre
Yannick Warnier
 
TICs en educación y Chamilo, introducción para Maestria en Edumática, 2011
TICs en educación y Chamilo, introducción para Maestria en Edumática, 2011TICs en educación y Chamilo, introducción para Maestria en Edumática, 2011
TICs en educación y Chamilo, introducción para Maestria en Edumática, 2011
Yannick Warnier
 

Más de Yannick Warnier (20)

Chamilo, 12 ans déjà
Chamilo, 12 ans déjàChamilo, 12 ans déjà
Chamilo, 12 ans déjà
 
Chamilo en FLISOL Perú 2018
Chamilo en FLISOL Perú 2018Chamilo en FLISOL Perú 2018
Chamilo en FLISOL Perú 2018
 
The benefits of using Git
The benefits of using GitThe benefits of using Git
The benefits of using Git
 
Skillms, solution de gestion des talents
Skillms, solution de gestion des talentsSkillms, solution de gestion des talents
Skillms, solution de gestion des talents
 
Chamilo "Lectoura", proyecto Hackaton EdTech, Lima 2017
Chamilo "Lectoura", proyecto Hackaton EdTech, Lima 2017Chamilo "Lectoura", proyecto Hackaton EdTech, Lima 2017
Chamilo "Lectoura", proyecto Hackaton EdTech, Lima 2017
 
Novedades de Chamilo 1.11 - 2017
Novedades de Chamilo 1.11 - 2017Novedades de Chamilo 1.11 - 2017
Novedades de Chamilo 1.11 - 2017
 
Chamilo, qu'est-ce? - Chamilo Camp Lyon 2017
Chamilo, qu'est-ce? - Chamilo Camp Lyon 2017Chamilo, qu'est-ce? - Chamilo Camp Lyon 2017
Chamilo, qu'est-ce? - Chamilo Camp Lyon 2017
 
L'avenir de Chamilo - 2017
L'avenir de Chamilo - 2017L'avenir de Chamilo - 2017
L'avenir de Chamilo - 2017
 
Introducción a Nginx y PHP FPM
Introducción a Nginx y PHP FPMIntroducción a Nginx y PHP FPM
Introducción a Nginx y PHP FPM
 
Desarrollo del plugin Chamilo-Wordpress
Desarrollo del plugin Chamilo-WordpressDesarrollo del plugin Chamilo-Wordpress
Desarrollo del plugin Chamilo-Wordpress
 
Calidad de código en Chamilo: Behat, Travis-CI y Scrutinizer-CI
Calidad de código en Chamilo: Behat, Travis-CI y Scrutinizer-CICalidad de código en Chamilo: Behat, Travis-CI y Scrutinizer-CI
Calidad de código en Chamilo: Behat, Travis-CI y Scrutinizer-CI
 
Como usar un aula virtual como recurso educativo - Caso Chamilo
Como usar un aula virtual como recurso educativo - Caso ChamiloComo usar un aula virtual como recurso educativo - Caso Chamilo
Como usar un aula virtual como recurso educativo - Caso Chamilo
 
Asociación Chamilo
Asociación ChamiloAsociación Chamilo
Asociación Chamilo
 
Crear cursos-virtuales-chamilo-flisol-2014
Crear cursos-virtuales-chamilo-flisol-2014Crear cursos-virtuales-chamilo-flisol-2014
Crear cursos-virtuales-chamilo-flisol-2014
 
Chamilo LMS y otros LMSes - Universidad de Valencia, España - Octubre 2013
Chamilo LMS y otros LMSes - Universidad de Valencia, España - Octubre 2013Chamilo LMS y otros LMSes - Universidad de Valencia, España - Octubre 2013
Chamilo LMS y otros LMSes - Universidad de Valencia, España - Octubre 2013
 
Prepa certificación docente Chamilo 1.8 (CHACOBU)
Prepa certificación docente Chamilo 1.8 (CHACOBU)Prepa certificación docente Chamilo 1.8 (CHACOBU)
Prepa certificación docente Chamilo 1.8 (CHACOBU)
 
Chamilo advantages against other LMSes
Chamilo advantages against other LMSesChamilo advantages against other LMSes
Chamilo advantages against other LMSes
 
Taller de optimizacion de servidores web tipo LAMP
Taller de optimizacion de servidores web tipo LAMPTaller de optimizacion de servidores web tipo LAMP
Taller de optimizacion de servidores web tipo LAMP
 
Chamilo, c'est pas le Pérou - Jeudis du libre
Chamilo, c'est pas le Pérou - Jeudis du libreChamilo, c'est pas le Pérou - Jeudis du libre
Chamilo, c'est pas le Pérou - Jeudis du libre
 
TICs en educación y Chamilo, introducción para Maestria en Edumática, 2011
TICs en educación y Chamilo, introducción para Maestria en Edumática, 2011TICs en educación y Chamilo, introducción para Maestria en Edumática, 2011
TICs en educación y Chamilo, introducción para Maestria en Edumática, 2011
 

Último

Guia_de_conservacion_y_mantenimiento(1).pdf
Guia_de_conservacion_y_mantenimiento(1).pdfGuia_de_conservacion_y_mantenimiento(1).pdf
Guia_de_conservacion_y_mantenimiento(1).pdf
AlmaDeliaStephanieMo
 
armadura_vigas.pptx.....................
armadura_vigas.pptx.....................armadura_vigas.pptx.....................
armadura_vigas.pptx.....................
Acletti Ammina
 
kupdf.net_copia-de-manual-agroislentildea.pdf
kupdf.net_copia-de-manual-agroislentildea.pdfkupdf.net_copia-de-manual-agroislentildea.pdf
kupdf.net_copia-de-manual-agroislentildea.pdf
nachososa8
 
PRES 3. METROLOGÍA DE GASES Y RADIACIONES IONIZANTES.pptx
PRES 3. METROLOGÍA DE GASES Y RADIACIONES IONIZANTES.pptxPRES 3. METROLOGÍA DE GASES Y RADIACIONES IONIZANTES.pptx
PRES 3. METROLOGÍA DE GASES Y RADIACIONES IONIZANTES.pptx
brandonsinael
 
ESTRUCTURACIÓN Y PREDIMENSIONAMIENTO, GRUPO 4.pdf
ESTRUCTURACIÓN Y PREDIMENSIONAMIENTO, GRUPO 4.pdfESTRUCTURACIÓN Y PREDIMENSIONAMIENTO, GRUPO 4.pdf
ESTRUCTURACIÓN Y PREDIMENSIONAMIENTO, GRUPO 4.pdf
AlexTicona11
 
Aletas de Transferencia de Calor o Superficies Extendidas.pdf
Aletas de Transferencia de Calor o Superficies Extendidas.pdfAletas de Transferencia de Calor o Superficies Extendidas.pdf
Aletas de Transferencia de Calor o Superficies Extendidas.pdf
JuanAlbertoLugoMadri
 
INGENIERIA DE METODOS UTEL MEXICO - AUTOCALIFICABLE
INGENIERIA DE METODOS UTEL MEXICO - AUTOCALIFICABLEINGENIERIA DE METODOS UTEL MEXICO - AUTOCALIFICABLE
INGENIERIA DE METODOS UTEL MEXICO - AUTOCALIFICABLE
gael310206
 
COMPARACION DE PRECIOS TENIENDO COMO REFERENTE LA OSCE
COMPARACION DE PRECIOS TENIENDO COMO REFERENTE LA OSCECOMPARACION DE PRECIOS TENIENDO COMO REFERENTE LA OSCE
COMPARACION DE PRECIOS TENIENDO COMO REFERENTE LA OSCE
jhunior lopez rodriguez
 
Aspectos Generales Alcantarillado Sanitario.pdf
Aspectos Generales Alcantarillado Sanitario.pdfAspectos Generales Alcantarillado Sanitario.pdf
Aspectos Generales Alcantarillado Sanitario.pdf
MaryamDeLen
 
A3QUIROZ,MANUEL- Operaciones Basicas- Construccion
A3QUIROZ,MANUEL- Operaciones Basicas- ConstruccionA3QUIROZ,MANUEL- Operaciones Basicas- Construccion
A3QUIROZ,MANUEL- Operaciones Basicas- Construccion
manuelalejandro238
 
Bioelementos y biomoleculas.pptx bioquímica
Bioelementos y biomoleculas.pptx bioquímicaBioelementos y biomoleculas.pptx bioquímica
Bioelementos y biomoleculas.pptx bioquímica
KellyCespedesMaytahu
 
Clasificacion geomecanica de Q de Barton
Clasificacion geomecanica de Q de BartonClasificacion geomecanica de Q de Barton
Clasificacion geomecanica de Q de Barton
edujunes132
 
CAPACITACION EN USO Y MANEJO DE EXTINTORES
CAPACITACION EN USO Y MANEJO DE EXTINTORESCAPACITACION EN USO Y MANEJO DE EXTINTORES
CAPACITACION EN USO Y MANEJO DE EXTINTORES
vaniacordova6
 
Infografía operaciones básicas construcción .pdf
Infografía operaciones básicas construcción .pdfInfografía operaciones básicas construcción .pdf
Infografía operaciones básicas construcción .pdf
Carlos Pulido
 
Ventajas y desventaja de la biotecnología
Ventajas y desventaja de la biotecnologíaVentajas y desventaja de la biotecnología
Ventajas y desventaja de la biotecnología
luiscentenocalderon
 
Matriz de Evaluación de Factores Externos-MEFE
Matriz de Evaluación de Factores Externos-MEFEMatriz de Evaluación de Factores Externos-MEFE
Matriz de Evaluación de Factores Externos-MEFE
Elsa Molto
 
Dialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdf
Dialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdfDialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdf
Dialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdf
fernanroq11702
 
presentacion-primer-ciclo-charla-2020-colombia.pdf
presentacion-primer-ciclo-charla-2020-colombia.pdfpresentacion-primer-ciclo-charla-2020-colombia.pdf
presentacion-primer-ciclo-charla-2020-colombia.pdf
xpequispe
 
Obras patrimoniales en Venezuela, su sistema constructivo y mantenimiento de ...
Obras patrimoniales en Venezuela, su sistema constructivo y mantenimiento de ...Obras patrimoniales en Venezuela, su sistema constructivo y mantenimiento de ...
Obras patrimoniales en Venezuela, su sistema constructivo y mantenimiento de ...
siclaro982
 
Las operaciones básicas en la construcción.
Las operaciones básicas en la construcción.Las operaciones básicas en la construcción.
Las operaciones básicas en la construcción.
MaraManuelaUrribarri
 

Último (20)

Guia_de_conservacion_y_mantenimiento(1).pdf
Guia_de_conservacion_y_mantenimiento(1).pdfGuia_de_conservacion_y_mantenimiento(1).pdf
Guia_de_conservacion_y_mantenimiento(1).pdf
 
armadura_vigas.pptx.....................
armadura_vigas.pptx.....................armadura_vigas.pptx.....................
armadura_vigas.pptx.....................
 
kupdf.net_copia-de-manual-agroislentildea.pdf
kupdf.net_copia-de-manual-agroislentildea.pdfkupdf.net_copia-de-manual-agroislentildea.pdf
kupdf.net_copia-de-manual-agroislentildea.pdf
 
PRES 3. METROLOGÍA DE GASES Y RADIACIONES IONIZANTES.pptx
PRES 3. METROLOGÍA DE GASES Y RADIACIONES IONIZANTES.pptxPRES 3. METROLOGÍA DE GASES Y RADIACIONES IONIZANTES.pptx
PRES 3. METROLOGÍA DE GASES Y RADIACIONES IONIZANTES.pptx
 
ESTRUCTURACIÓN Y PREDIMENSIONAMIENTO, GRUPO 4.pdf
ESTRUCTURACIÓN Y PREDIMENSIONAMIENTO, GRUPO 4.pdfESTRUCTURACIÓN Y PREDIMENSIONAMIENTO, GRUPO 4.pdf
ESTRUCTURACIÓN Y PREDIMENSIONAMIENTO, GRUPO 4.pdf
 
Aletas de Transferencia de Calor o Superficies Extendidas.pdf
Aletas de Transferencia de Calor o Superficies Extendidas.pdfAletas de Transferencia de Calor o Superficies Extendidas.pdf
Aletas de Transferencia de Calor o Superficies Extendidas.pdf
 
INGENIERIA DE METODOS UTEL MEXICO - AUTOCALIFICABLE
INGENIERIA DE METODOS UTEL MEXICO - AUTOCALIFICABLEINGENIERIA DE METODOS UTEL MEXICO - AUTOCALIFICABLE
INGENIERIA DE METODOS UTEL MEXICO - AUTOCALIFICABLE
 
COMPARACION DE PRECIOS TENIENDO COMO REFERENTE LA OSCE
COMPARACION DE PRECIOS TENIENDO COMO REFERENTE LA OSCECOMPARACION DE PRECIOS TENIENDO COMO REFERENTE LA OSCE
COMPARACION DE PRECIOS TENIENDO COMO REFERENTE LA OSCE
 
Aspectos Generales Alcantarillado Sanitario.pdf
Aspectos Generales Alcantarillado Sanitario.pdfAspectos Generales Alcantarillado Sanitario.pdf
Aspectos Generales Alcantarillado Sanitario.pdf
 
A3QUIROZ,MANUEL- Operaciones Basicas- Construccion
A3QUIROZ,MANUEL- Operaciones Basicas- ConstruccionA3QUIROZ,MANUEL- Operaciones Basicas- Construccion
A3QUIROZ,MANUEL- Operaciones Basicas- Construccion
 
Bioelementos y biomoleculas.pptx bioquímica
Bioelementos y biomoleculas.pptx bioquímicaBioelementos y biomoleculas.pptx bioquímica
Bioelementos y biomoleculas.pptx bioquímica
 
Clasificacion geomecanica de Q de Barton
Clasificacion geomecanica de Q de BartonClasificacion geomecanica de Q de Barton
Clasificacion geomecanica de Q de Barton
 
CAPACITACION EN USO Y MANEJO DE EXTINTORES
CAPACITACION EN USO Y MANEJO DE EXTINTORESCAPACITACION EN USO Y MANEJO DE EXTINTORES
CAPACITACION EN USO Y MANEJO DE EXTINTORES
 
Infografía operaciones básicas construcción .pdf
Infografía operaciones básicas construcción .pdfInfografía operaciones básicas construcción .pdf
Infografía operaciones básicas construcción .pdf
 
Ventajas y desventaja de la biotecnología
Ventajas y desventaja de la biotecnologíaVentajas y desventaja de la biotecnología
Ventajas y desventaja de la biotecnología
 
Matriz de Evaluación de Factores Externos-MEFE
Matriz de Evaluación de Factores Externos-MEFEMatriz de Evaluación de Factores Externos-MEFE
Matriz de Evaluación de Factores Externos-MEFE
 
Dialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdf
Dialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdfDialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdf
Dialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdf
 
presentacion-primer-ciclo-charla-2020-colombia.pdf
presentacion-primer-ciclo-charla-2020-colombia.pdfpresentacion-primer-ciclo-charla-2020-colombia.pdf
presentacion-primer-ciclo-charla-2020-colombia.pdf
 
Obras patrimoniales en Venezuela, su sistema constructivo y mantenimiento de ...
Obras patrimoniales en Venezuela, su sistema constructivo y mantenimiento de ...Obras patrimoniales en Venezuela, su sistema constructivo y mantenimiento de ...
Obras patrimoniales en Venezuela, su sistema constructivo y mantenimiento de ...
 
Las operaciones básicas en la construcción.
Las operaciones básicas en la construcción.Las operaciones básicas en la construcción.
Las operaciones básicas en la construcción.
 

Novedades de PHP 7.*

  • 1. Novedades de PHP 7.* Por Yannick Warnier – PHP Day Perú 2017 II
  • 8. Donde encontrar los cambios? http://php.net/
  • 10. 5.6 a 7.0: BW incompatible ● Dejar set_exception_handler() por Exception/Throwable ● Constructores internos: siempre devuelven exceptions cuando fallan ● Parse errors → “ParseError” object exception http://php.net/manual/en/migration70.incompatible.php
  • 11. 5.6 a 7.0: BW incompatible ● E_STRICT http://php.net/manual/en/migration70.incompatible.php
  • 12. 5.6 a 7.0: BW incompatible ● E_STRICT http://php.net/manual/en/migration70.incompatible.php
  • 13. 5.6 a 7.0: BW incompatible ● Gestión de variables http://php.net/manual/en/migration70.incompatible.php
  • 14. 5.6 a 7.0: BW incompatible ● list() funciona al revés para variables/arrays http://php.net/manual/en/migration70.incompatible.php
  • 15. 5.6 a 7.0: BW incompatible ● list() ya no funciona vacío. Prohibido: http://php.net/manual/en/migration70.incompatible.php
  • 16. 5.6 a 7.0: BW incompatible ● Variables variables no pueden usarse con global http://php.net/manual/en/migration70.incompatible.php
  • 17. 5.6 a 7.0: BW incompatible ● Parentesis alrededor de argumentos http://php.net/manual/en/migration70.incompatible.php Notice: Only variables should be passed by reference in /tmp/test.php on line 13
  • 18. 5.6 a 7.0: BW incompatible ● foreach ya no cambia el puntero interno
  • 19. 5.6 a 7.0: BW incompatible ● foreach ya no usa el array de iteración mientras itera, en el caso de un foreach por valores ● foreach puede modificar el array de iteración al vuelo durante su iteración
  • 20. 5.6 a 7.0: BW incompatible ● Literales octales inválidos ● 0128 ya no es cortado a 012 automáticamente ● Ya bota un PARSE ERROR ● Bitshifts negativos ● var_dump(1 >> -1) → ArithmeticError ● División por 0 ● De E_WARNING a DivisionByZeroError
  • 21. 5.6 a 7.0: BW incompatible ● String con hexadecimales ya no son “numeric” ● is_numeric(‘0x123’) → false ● substr(‘foo’, ‘0x1’) → Notice: non-well formed numeric value… ● u{EFEZRFZ → FATAL ERROR (unicode)
  • 22. 5.6 a 7.0: BW incompatible ● call_user_method() + call_user_method_array() ● Eliminadas (call_user_func()) ● Fin de “ereg” (ver preg) ● Funciones mcrypt_* eliminadas ● ext/mysql y ext/mssql eliminados ● set_magic_quotes_runtime() → eliminado ● set_socket_blocking() → removed
  • 23. 5.6 a 7.0: BW incompatible ● dl() no se puede usar en PHP-FPM ● always_populate_raw_post_data + asp_tags: removed ● xsl.security_prefs removed
  • 24. 5.6 a 7.0: BW incompatible ● Resultados de “new” ya no pueden ser asignados por referencia (PARSE ERROR) ● Etiquetas ASP y script eliminadas: ● <% ● <%= ● <script language=”php”> ● Yield (varios cambios)
  • 25. 5.6 a 7.0: BW incompatible ● Ya no switch() con multiple “default:” ● $HTTP_RAW_POST_DATA... ya fue ● Comentarios # en los archivos .ini … ya fueron ● JSON remplazado por JSOND ● 34. → 34 o 34.0 ● 3.e3 → 3.0e3 o 3e3 ● “” → no es válido ● Otras cosas de funciones, session handlers y orden de ordenamiento
  • 26. 5.6 a 7.0: Lo nuevo ● Declaración escalares (coerciva o estricta)
  • 27. 5.6 a 7.0: Lo nuevo ● Declaración tipo de retorno
  • 28. 5.6 a 7.0: Lo nuevo ● Null coalescing operator
  • 29. 5.6 a 7.0: Lo nuevo ● Spaceship
  • 30. 5.6 a 7.0: Lo nuevo ● Arrays constantes ● Clases anónimas ● new class implements Logger { ... } ● closure::call() ● unserialize() filtrado (whitelist de clases) ● expectations/assert() ● “use” agrupado: ● use somenamespace{ClassA, ClassC as C};
  • 31. 5.6 a 7.0: Lo nuevo ● Generadores ● session_start() opciones como arrays ● Nueva función preg_replace_callback_array() ● CSPRNG (cifrado)
  • 32. 5.6 a 7.0: Eliminados ● Constructores tipo PHP 4
  • 33. 5.6 a 7.0: Eliminados ● Llamadas estáticas a métodos no-estáticos ● password_hash() salt ● ldap_sort() ● Warning sobre date.timezone (default UTC)
  • 34. 7.0 a 7.1: BW incompatible ● ArgumentCountError exception (Fatal Error) ● error_log funciona con syslog ● $str[ ] ya no está autorizado para strings!!!! ● … ● Mcrypt... ya fue
  • 35. 7.0 a 7.1: Lo nuevo ● DateTime incluye microsegundos ● Fatal errors → Error exception en muchas clases ● Nullable types: function test(?string $name) { ... ● Void functions: function edit(&$left): void { … ● [ ] como list: [$id1, $name1] = $data; ● Visibilidad de constantes de clases
  • 36. 7.0 a 7.1: Lo nuevo ● Pseudo-tipo “iterable”: function iterator(iterable $a) ● Excepciones multi-catch ● } catch (FirstException | SecondException $e) { ● Soporte de keys en list() ● Soporte para offsets negativos en strings ● var_dump(“abcdef”[-2]) → “e” ● HTTP/2 server push support in ext/curl
  • 37. 7.0 a 7.1: Lo nuevo ● E_WARNING y E_NOTICE cuando ● ‘1b’ + ‘algo’;
  • 38. 7.1 a 7.2: BW incompatible ● No mucho ● Strings sin comillas que no son constantes pasan de lanzar un E_NOTICE a un E_WARNING ● __autoload() ya no va (spl_autoload_register() sí) ● create_function() ya no va ● (unset) algo → ya no va ● each() ya no va. Use foreach() ●
  • 39. 7.1 a 7.2: Lo nuevo ● Tipo “object” para aceptar cualquier objeto ● function test(object $obj) : object ● Carga de extensiones en .ini por su nombre sin extensión (.so/.dll) ● Sobreescribir métodos abstractos ● Sodium incluido en core (criptografía avanzada) ● Varias cosas para PDO, LDAP, EXIF y Sockets
  • 40. 7.* en general: optimizaciones ● $a = “$b and $c”; mejor que $a = $b.” and “.$c; ● “Hey” . strlen($str); mejor que “Hey” . strlen($str); https://www.slideshare.net/jpauli/symfonycon-2017-php7-performances
  • 41. 7.* en general: optimizaciones ● Mejor arrays con índices numéricos incrementales solo (no necesariamente paso de 1) https://www.slideshare.net/jpauli/symfonycon-2017-php7-performances
  • 43. Yannick Warnier CTO - BeezNest Presidente/Leader – Chamilo @ywarnier