Inicio » Blog

En Benzahosting tenemos PHP 708, Mar

10 cosas sobre PHP 7 que deberías saber

¿Eres desarrollador web o administrador de una página web dinámica? ¿Tus sitios se ejecutan bajo un CMS desarrollado en PHP como WordPress, Joomla, Drupal, Prestashop o Magento? hace ya algún tiempo que se lanzo la version 7 de PHP. Esta nueva versión cuenta con muchas características interesantes.

1. ¿PHP 7? ¿y la versión 6 dónde está?

La versión estable anterior fue la 5.6. Entonces, ¿por qué se han saltado PHP 6? En realidad, PHP 6 existió y era el sucesor de la actual versión de PHP, pero los problemas en el desarrollo y diversos conflictos en el equipo hicieron que no llegase a buen cauce. Es por eso que decidieron omitir el nombre de PHP 6, y empezaron a desarrollar desde cero una nueva versión digna de este lenguaje de programación a la que llamaron PHP 7.

2. Un nuevo Zend Engine

Zend Engine ha alimentado PHP desde 1999, desde que se presentase la versión número 4 de PHP. Zend (no confundir con el Zend Framework) es un motor de ejecución, de código abierto escrito en C, que interpreta el lenguaje PHP. La versión actual de PHP utiliza Zend Engine II, el cual mejoró la funcionalidad del motor inicial y añadió un nuevo modelo de objetos extensible además de una mejora significativa del rendimiento del lenguaje.

Esta nueva versión de PHP, PHP 7, recibe una nueva versión del motor que viene bajo el nombre de PHPNG (NG = Next Generation = Nueva Generación). Un nombre final que te atraerá.

3. El doble de velocidad

La ventaja más fácilmente reconocible del nuevo motor PHPNG es la mejora significativa del rendimiento. El equipo de desarrollo de PHPNG ha rediseñado el uso de memoria Zend Engine, lo ha optimizado notablemente y ha añadido la compilación JIT que hace que el código se compile cuando se está ejecutando en lugar de antes de la ejecución.

¿Los resultados? Puedes verlos tú mismo en la gráfica proporcionada por Zend un poco más abajo. Mediante el uso de PHP 7 no sólo se ejecutará el código más rápido, sino que también necesitarás menos servidores para tratar con la misma cantidad de usuarios.

4. Facilita el manejo de errores

Por suavizarlo un poco, el manejo de errores nunca ha sido una tarea fácil para los programadores de PHP. El nuevo EngineException te permitirá sustituir los errores fatales por excepciones. Si la excepción no se detecta, PHP seguirá devolviendo los mismos errores fatales como lo hace en la actualidad.

Los nuevos objetos EngineException no vienen de la clase Exception. Esto asegura la retrocompatibilidad y da lugar a dos tipos de excepciones en el manejo de errores: excepciones tradicionales y las del motor.

Para permitir a los programadores atrapar errores tal y como lo hacen otros lenguajes, PHP 7 introduce una nueva parent class bajo el nombre de BaseException.

try{
  call_method(null);
}catch (EngineException $e){
  echo "Excepcion: {$e->getMessage()}n";
}

5. Soporte para sistemas Windows de 64 bits

PHP es un miembro destacado de la LAMP, es decir, su entorno nativo es Linux, pero también es posible ejecutarlo en un sistema Windows. La versión actual de PHP no soporta enteros de 64 bits y archivos grandes, por lo que las builds x64 habían sido consideradas como algo experimental.

PHP 7 cambiará esto, ya que introduce soporte para 64 bits que significa que los enteros de 64 bits y los archivos grandes ya podrán ser aceptados, lo que te permitirá ejecutar con confianza PHP en el S.O Windows de 64 bits en el futuro.

6. Nuevos operadores

Un nuevo operador aterriza en PHP, en otros lenguajes de programación lleva existiendo desde hace mucho tiempo, pero este, debuta en PHP 7. Se trata del operador de comparación combinado, cuya sintaxis es un poco peculiar: <=> Este operador devolverá 0 si los dos operandos son iguales, 1 si el de la izquierda es mayor, y -1 si el de la derecha es mayor. También se le llama operador de comparación de tres vías.

El operador nulo coalescente, cuya sintaxis son dos símbolos de interrogación, ??, se puede utilizar cuando quieres comprobar si existe algo y devolver un valor por defecto, en caso de que no sea cierto. El operador devuelve el resultado de su primer operando si existe y no es nulo, y el segundo operando en cualquier otro caso.

7. Declaraciones Precisas

Anteriormente, en una función, solo podíamos especificar si el parámetro enviado era o una clase, o una interfaz, o un callable o bien, un array. Ahora tendremos nuevos tipos para controlar el envío de datos a una función, que son: int, bool, float y string. Es decir, ahora podremos validar si el parámetro es un número entero, un decimal, una cadena o bien un booleano. Os pondré un ejemplo para que lo entendáis mejor:

function prueba(int $entero, string $cadena) 
{
    echo 'El cliente ' . $cadena .' debe ' . $entero . ' manzanas.';
}

Pero ya no solo con los parámetros, sino que también podemos definir el tipo de lo que se devuelve en una función. Es decir:

function prueba(int $entero, string $cadena) :string
{
    echo 'El cliente ' . $cadena .' debe ' . $entero . ' manzanas.';
}

En conclusión, ahora podremos validar los parametros y los valores retornables entre estos tipos: string, int, bool, float, array, callable, self, parent, closure, class o interfaz. Por lo que, poniendo en práctica el ejemplo anterior…

$resultado = prueba("2", "Pedro"); //Esto no funcionaría en PHP 7
$resultado = prueba(2, "Pedro"); //Esto si funcionaría en PHP 7

8. Las clases anónimas

PHP 7 te permite utilizar clases anónimas, una práctica bien establecida en otros lenguajes orientados a objetos como C# y Java. Una clase anónima es una clase sin nombre, definida en la misma línea de código donde se crea el objeto de la clase.

La sintaxis es la misma a la que estamos acostumbrados en las clases PHP tradicionales, sólo que el nombre se omite. Si las clases anónimas se utilizan bien, pueden acelerar el tiempo de ejecución también del proyecto web. Además, las clases anónimas son excelentes cuando una clase se utiliza sólo una vez durante la ejecución y en casos donde una clase no necesita estar documentada.

var_dump(new class($i) {
  public function __construct($i){
    $this->i = $i;
  }
});

9. Facilita las importaciones desde el mismo namespace

La nueva característica de Group Use Declarations será un milagro para aquellos que quieran importar muchas clases a un mismo namespace. La nueva sintaxis es mucho más simple, hace el código más elegante y fácil de interpretar, y te ahorrará un montón de tiempo a la hora de escribir.

10. Haz limpieza

El principal objetivo de PHP 7 es el de liberar espacio para permitir la mejora de rendimiento, por lo que era necesario deshacerse de muchas funcionalidades en desuso y APIs antiguas que ya no eran compatibles con la mayoría de servidores.

Todos nuestro servicios contienen esta tecnología de desarrollo, para poder ejecutar tus proyectos de manera mas actualizada y compatible, nuestro servidores están en constante cambio, vamos a la par con las  nuevas vanguardias tecnológicas e informáticas para poder satisfacer de  manera integral todas las necesidades de cada uno de nuestros clientes. para eso puede revisar nuestro sitio web,  en donde estamos ofreciendo servicios de Web Hosting, Hosting Profesional, Multidominios, Reseller, VPS, Servidores Dedicados, Certificados SSL y mucho más.

www.benzahosting.cl

Comentarios

Opina con nosotros