PHP5 vrs PHP7 Nuevas funciones que debes probar

12/Dic/2017 php Productividad

A pesar de que php7 fue liberado hace mucho tiempo (Diciembre 2015), muchas personas siguen programando en php5 (5.6 fue la ultima versión) o peor aún utilizan php7 pero sin aprovechar los mejores cambios. Es por eso que decidí crear este articulo con los mejores cambios en PHP7 que te ayudaran a crear mejor código con menos esfuerzo.

Operador de fusión de null

Se escucha un poco extraño, pero con esta explicación te quedará todo muy claro, imagina que esperas recibir un parámetro get llamado id, pero como buen programador debes validarlo antes de usarlo, entonces usas un código como este:

Aun si usas un operador ternario y tu código se reduce a esto:

Al usar el operador de fusión null, tu código se reduce mucho y es más fácil de leer.

Como ves, solo asignas un valor y si colocas dos signos de interrogación, puedes colocar un valor predeterminado (en este caso una cadena vacía) y si la variable no ha sido asignada o tiene un valor null, se omite y se usa el valor predeterminado.

Declaraciones de tipo escalar

Declaraciones de tipo escalar - php7

Ahora con PHP7 se puede declarar los tipos de datos en los parámetros de las funciones, con tipo escalar, se refiere a los tipos básicos como string o integer. Esto es útil por que siempre es una buena idea validar los parámetros, veamos un ejemplo:

Si probamos este código veremos estos resultados:

Ahora veamos el código, usando las declaraciones de tipo escalar.

Si probamos el código veremos estos resultados:

Como vemos el segundo llamado  echo suma(1.5, 1); no genera un error y es por que php convierte los parámetros a al tipo de datos  requerido, en este caso convierte 1.5 en 1 y la función se ejecuta sin problemas. Si queremos ser más estrictos podemos agregar esta linea de código:

Ahora al llamar la función con 1.5 generará un error.

Mucho más simple ¿cierto?

Declaraciones de tipo de devolución

De la misma forma en que validamos que recibimos parámetros con los tipos de datos correctos, también podemos validar que nuestra función regrese los tipos de datos correctos, veamos un ejemplo:

En el ejemplo anterior la función debe regresar un id, y este id debe ser un numero entero, esto lo definimos con dos puntos y el tipo de datos en la misma linea en donde declaramos el nombre de la función. Como la función regresa una cadena de texto, genera un error al ejecutar la función. De esta forma protegemos a nuestra función de entregar un resultado equivocado.

Tipos nulos (PHP7.1)

De la forma en que declaramos el tipo de dato en los parámetros o en el valor de retorno, también podemos especificar que los valores pueden ser nulos. Esto lo hacemos con un signo de interrogación antes del tipo de datos como se muestra aquí:

Ahora probamos esta función

Como vemos podemos llamar la función con un parámetro null o alguna cadena de texto, pero si la llamamos sin ningún parámetro, genera un error. Es es útil en caso de que llamemos a la función con alguna variable, la cual no sabemos si en algún momento podría tener un valor null pero aun asi la función debería de trabajar sin problemas.

El operador nave espacial

Operador de nave espacial - php7

Es llamado asi, por que visualmente nos recuerda a una nave espacial, como la usada por Darth Vader en Star Wars. Este operador se usa para comparar dos expresiones y regresa un resultado de esta forma:

No es muy impresionante ¿cierto?, pero esto puede ser más útil de lo que aparenta, imagina que tienes un array y lo quieres ordenar, el operador de nave espacial es perfecto para este trabajo, solo mira este código:

Como ves ordenar un arreglo nunca había sido tan fácil, la salida del código anterior es esta:

Conclusión

Como ves, PHP7 y PHP7.1 vienen con nuevas funcionalidades que pueden hacer tu vida de programador más fácil, ahora que ya conoces esto, debes ponerlo en practica lo más pronto posible para que no lo olvides y comiences a tomar ventaja.



Ir a la barra de herramientas