944 063 154

PHP 7.2: mejora las funciones y aumenta la seguridad

Publicado enDesarrollo y Programación

Es de sobra conocido que PHP es uno de los lenguajes de programación más utilizado para el desarrollo de todo tipo de aplicaciones. De ahí que se encuentre en un proceso de actualización continua para adaptarse a las nuevas tecnologías y necesidades en desarrollo. En las últimas semanas, han lanzado su última versión: PHP 7.2.

La nueva versión de PHP incluye diversas funciones y mejoras que te ayudarán a escribir código y a este que se ejecute de una forma mucho más rápida. Todo ello permite que se reduzcan los recursos necesarios para el desarrollo y también para el mantenimiento de las aplicaciones. Asimismo, PHP 7.2 contribuye a aumentar la seguridad a través de librerías que no requieren de API externa.

Las mejoras de PHP 7.2

Entre las principales mejoras de este lenguaje backend se encuentra el cambio en la declaración del tipo de argumento. Esta es una funcionalidad que ya estaba disponible en las mejoras de PHP 5, y que progresó con la llegada de PHP 7.0, pero en la última versión ha sufrido ligeras modificaciones. Con PHP 7.2 es posible declarar «object» como tipo de argumento o como retorno en las funciones.

PHP no permite variaciones en los tipos de parámetros de métodos heredados. Pero con la llegada de PHP 7.2 sí es posible omitir un tipo en una subclase («type widening») sin que por ello se produzca un error de concordancia. De esta forma sería posible implementar tipos en los argumentos de librerías sin necesidad de tener que modificar clases en otras librerías o aplicaciones que dependan de las mismas.

Por último, se añade la posibilidad de incluir coma final al utilizar la construcción «list()».

Mayor seguridad

La última versión de PHP también incluye cambios relacionados con la seguridad. El primero de ellos es la incorporación de Libsodium al núcleo. Libsodium es una librería multiplataforma y moderna utilizada para criptografía que permite cifrar, descifrar, firmar y crear hashes. Por otro lado, PHP 7.2 incorpora soporte nativo para Argon2, un algoritmo de hashing, como alternativa a Bcrypt.

Funciones obsoletas

Aunque acaban de presentar la versión 7.2, desde PHP ya se comienza a hablar de algunos cambios que tendrá PHP 8.0. Todos ellos relacionados con funciones que se eliminarán y que desde PHP  ya recomiendan no utilizar.

  • function __autoload. Esta función fue reemplazada por por spl_autoload_register en PHP 5.1.
  • $php_errormsg. Con PHP 7.2 es recomendable utilizar error_get_last y error_clear_last en su lugar.
  • create_function(). Por diversos problemas de seguridad y debido a su bajo rendimiento, se recomienda utilizar «closures».
  • parse_str () sin segundo parámetro. PHP comenzará a advertir cada vez que se use la función sin pasar por el segundo parámetro.
  • gmp_random(). En lugar de utilizar esta función deberá usarse gmp_random_bits() y gmp_random_rage().
  • assert(). Su resultado abre una vulnerabilidad de ejecución remota de código (RCE). Por ello, se recomiendael uso de zend.assertion ini.
  • Tampoco se recomienda el uso de mbstring.func_overload, (unset) cast, each() y $errcontext. Estas funciones han sido declaradas como obsoletas por, además, resultar poco útiles.

Si PHP es uno de los lenguajes de programación más utilizados es, en gran medida, por su relación con WordPress, ya que el CMS está desarrollado con PHP. Pero, lamentablemente, la mayoría de usuarios de WordPress no acostumbra a actualizar su versión de PHP. De ahí que más de un 70% de las webs aún usen PHP 5.6 o incluso versiones más antiguas. Esto, además de ser un peligro de cara a la seguridad, puede ocasionar problemas de rendimiento.

Desde Linube recomendamos la actualización, al menos, a PHP 7 para aprovechar sus nuevas funcionalidades. De esta forma, tu web irá mucho más rápida y será capaz de ejecutar un mayor número de transacciones por segundo que en cualquier versión anterior.

Por nuestra parte, ya contamos con PHP 7.2 en todos nuestros servicios.