Introducción a PHP 5.4
     Carlos Nacianceno
        El Taller Web
El Taller Web




 • Partners de Zend Technologies
       o   Productos
       o   Entrenamiento
       o   Consultoría
       o   Soporte


El Taller Web
PHP 5.4
PHP 5.4.0
• Versión 5.4.0 - 1 de Marzo 2012

• Cambios importantes

• PHP 5.2 deja de tener soporte

• Última versión
    • 5.4.8
    • 18 de Octubre




PHP 5.4
Cosas Eliminadas
• Opciones en php.ini
    •     register_globals y register_long_arrays
    •     safe_mode y sus opciones ini
    •     y2k_compilance
    •     define_syslog_variables

• Funciones
    • session_is_registered,session_register,session_unregister

• Opciones
    • putenv(TZ=“”)
    • UTC es usado

• magic_quotes_gpc y sus primas ahora regresan false
PHP 5.4
Mejoras
• Cientos de mejoras en muchas funciones
    • hex2bin()
    • number_formant()
    • unserialize

• Mejoras en las extensiones principales

• Mejoras en el Zend Engine
    • El motor del PHP
    • Optimización de memoria
    • Desempeño

• Muchisimos Bugs corregidos

PHP 5.4
Mentiras verdaderas
• PHP 5.4 es más rápido

• Uso de memoria reducido hasta un 25%

• Aplicaciones de la vida real pueden ser 5-20 % más
  rápidas




PHP 5.4
Características Nuevas
Sintaxis corta en arregos
• Ya no es necesario el constructor array()

  $array = [“foo” , “bar” , “baz” ];

  $array = [1 => “hola”, 32=> “adios” ];




PHP 5.4
Desreferenciación de Arreglos
• Referencia al resultado de una función o método

• Antes
$strExploded = explode (“1,2,3”,”,”);
$segundo=$strExploded[1];


• Ahora
 $segundo = explode (“1,2,3”,”,”)[1];




PHP 5.4
Desreferenciación de Arreglos
• Antes
function miArreglo() {
    return array(1,3,42);
}

$miArreglo=miArreglo();
$elementoArray=$miArreglo[0];

• Ahora
  function miArreglo() {
      return array(1,3,42);
  }

  $elementoArray=miArreglo()[0];

PHP 5.4
Soporte para Session handler OO
• Antes podiamos usar cualquier funcion y
  registrabamos con session_set_handler()


• Ahora podemos crear una clase que implemente la
  interfaz SessionHandlerInterface y registrar el objeto




PHP 5.4
Nuevo Type-Hinting
• El Type-Hinting ahora puede usar callable
function miFuncion(callable $func) {
    $func(1,2,3);
}




PHP 5.4
Webserver interno
• Tu propio webserver para desarrollo

• Rápido y Sencillo

• Puedes
    • Especificar host y puerto
    • Archivo de configuración ini a cargar
    • Document root

yo@miservidor> php –S miservidor:8080 –t /misproyectos –c php.ini




PHP 5.4
Traits
• Mecanismo de reutilización de código

• Trata de reducir limitaciones de herencia simple

• Evitar herencia múltiple

• No se instancian directamente se usan en alguna
  clase

• Copy/paste de funcionalidad



PHP 5.4
Trait básico
trait Saludo {
       public function hola() {
               echo “Hola”;
       }
}

trait Lugares {
       public function ciudad($ciudad) {
              echo “ “.$ciudad;
       }
       public funciton mundo() {
              echo “ Mundo”
       }
}

Class Miclase {
       use Saludo,Lugares;
}

$obj=new Miclase();
$obj->hola();
$obj->mundo();


PHP 5.4
Características Traits
• Los métodos pueden tener alias
 class C {
      use English,Spanish {
            English::greeting insteadof Spanish;
            Spanish::greeting as private hola;
            Spanish::farewell insteadof English;
            }
 }


• Pueden tener propiedades

• Pueden tener métodos abstractos

• Traits pueden usar Traits
PHP 5.4
Reglas Traits
• Puedo usar varios Traits separadolos por comas

• Los miembros heredados de una clase son
  sustituidos por miembros insertados desde un Trait

• Los miembros insertados desde el Trait son
  sustituidos por los de la clase actual

• Si dos Traits insertan 2 métodos con el mismo
  nombre se produce un error fatal



PHP 5.4
¿Preguntas?




PHP 5.4
GRACIAS

info@eltallerweb.com

    @eltallerweb

      @igormx

Introducción a PHP 5.4

  • 1.
    Introducción a PHP5.4 Carlos Nacianceno El Taller Web
  • 2.
    El Taller Web • Partners de Zend Technologies o Productos o Entrenamiento o Consultoría o Soporte El Taller Web
  • 3.
  • 4.
    PHP 5.4.0 • Versión5.4.0 - 1 de Marzo 2012 • Cambios importantes • PHP 5.2 deja de tener soporte • Última versión • 5.4.8 • 18 de Octubre PHP 5.4
  • 5.
    Cosas Eliminadas • Opcionesen php.ini • register_globals y register_long_arrays • safe_mode y sus opciones ini • y2k_compilance • define_syslog_variables • Funciones • session_is_registered,session_register,session_unregister • Opciones • putenv(TZ=“”) • UTC es usado • magic_quotes_gpc y sus primas ahora regresan false PHP 5.4
  • 6.
    Mejoras • Cientos demejoras en muchas funciones • hex2bin() • number_formant() • unserialize • Mejoras en las extensiones principales • Mejoras en el Zend Engine • El motor del PHP • Optimización de memoria • Desempeño • Muchisimos Bugs corregidos PHP 5.4
  • 7.
    Mentiras verdaderas • PHP5.4 es más rápido • Uso de memoria reducido hasta un 25% • Aplicaciones de la vida real pueden ser 5-20 % más rápidas PHP 5.4
  • 8.
  • 9.
    Sintaxis corta enarregos • Ya no es necesario el constructor array() $array = [“foo” , “bar” , “baz” ]; $array = [1 => “hola”, 32=> “adios” ]; PHP 5.4
  • 10.
    Desreferenciación de Arreglos •Referencia al resultado de una función o método • Antes $strExploded = explode (“1,2,3”,”,”); $segundo=$strExploded[1]; • Ahora $segundo = explode (“1,2,3”,”,”)[1]; PHP 5.4
  • 11.
    Desreferenciación de Arreglos •Antes function miArreglo() { return array(1,3,42); } $miArreglo=miArreglo(); $elementoArray=$miArreglo[0]; • Ahora function miArreglo() { return array(1,3,42); } $elementoArray=miArreglo()[0]; PHP 5.4
  • 12.
    Soporte para Sessionhandler OO • Antes podiamos usar cualquier funcion y registrabamos con session_set_handler() • Ahora podemos crear una clase que implemente la interfaz SessionHandlerInterface y registrar el objeto PHP 5.4
  • 13.
    Nuevo Type-Hinting • ElType-Hinting ahora puede usar callable function miFuncion(callable $func) { $func(1,2,3); } PHP 5.4
  • 14.
    Webserver interno • Tupropio webserver para desarrollo • Rápido y Sencillo • Puedes • Especificar host y puerto • Archivo de configuración ini a cargar • Document root yo@miservidor> php –S miservidor:8080 –t /misproyectos –c php.ini PHP 5.4
  • 15.
    Traits • Mecanismo dereutilización de código • Trata de reducir limitaciones de herencia simple • Evitar herencia múltiple • No se instancian directamente se usan en alguna clase • Copy/paste de funcionalidad PHP 5.4
  • 16.
    Trait básico trait Saludo{ public function hola() { echo “Hola”; } } trait Lugares { public function ciudad($ciudad) { echo “ “.$ciudad; } public funciton mundo() { echo “ Mundo” } } Class Miclase { use Saludo,Lugares; } $obj=new Miclase(); $obj->hola(); $obj->mundo(); PHP 5.4
  • 17.
    Características Traits • Losmétodos pueden tener alias class C { use English,Spanish { English::greeting insteadof Spanish; Spanish::greeting as private hola; Spanish::farewell insteadof English; } } • Pueden tener propiedades • Pueden tener métodos abstractos • Traits pueden usar Traits PHP 5.4
  • 18.
    Reglas Traits • Puedousar varios Traits separadolos por comas • Los miembros heredados de una clase son sustituidos por miembros insertados desde un Trait • Los miembros insertados desde el Trait son sustituidos por los de la clase actual • Si dos Traits insertan 2 métodos con el mismo nombre se produce un error fatal PHP 5.4
  • 19.
  • 20.
    GRACIAS info@eltallerweb.com @eltallerweb @igormx