PHP 7.1 ya está disponible en nuestros servidores
Estamos encantados de anunciar que una vez más SiteGround ha puesto a disposición, en la mayoría de nuestros servidores, la última versión de PHP (PHP 7.1) solo unos minutos después de haber sido lanzada oficialmente. PHP 7.1 trae consigo nuevas características interesantes para los desarrolladores. Sin embargo, también introduce cambios incompatibles a la hora de volver a versiones anteriores, con lo que las migraciones de 7.0 a 7.1 deben realizarse con mucha precaución.
En esta entrada del blog nos gustaría:
- Mostrar algunos de los principales cambios y nuevas características de PHP 7.1
- Proporcionar información sobre el estado actual de WordPress, Joomla! y Drupal en lo que se refiere a PHP 7.1
- Proporcionar información de cómo utilizar PHP 7.1 en nuestros servidores de hosting
Las nuevas características de PHP 7.1 que más nos gustan
La documentación oficial de PHP 7.1 proporciona información sobre todos los cambios y sobre las nuevas características. Aquí solo mencionaremos las 3 mejoras que más nos gustan de PHP 7.1.
- Captura de múltiples tipos de excepción. Un problema al que muchos desarrolladores se enfrentan es que tienen que copiar y pegar el código cuando quieren capturar y gestionar excepciones de distintos tipos pero usando el mismo código para hacerlo. Aquí puedes ver un ejemplo sencillo:
<?php
try {
// Un poco de código…
} catch (Exception1 $e) {
// Algún código para gestionar la excepción
} catch (Exception2 $e) {
// El mismo código para gestionar esta otra excepción
} catch (Exception3 $e) {
// Algún otro código…
}
Es evidente, viendo el ejemplo, que en este caso los desarrolladores deberán copiar y pegar el código, con lo que este no se verá limpio y bonito. Con PHP 7.1 puedes hacer lo siguiente para capturar múltiples excepciones y gestionarlas:
<?php
try {
// Un poco de código…
} catch (Exception1 |Exception2 $e) {
// Código para gestionar la excepción
} catch (Exception3 $e) {
// Algún otro código…
}
Esto tiene una mejor apariencia y nos permite capturar múltiples excepciones.
- Tipos de valores Null. PHP 7.0 introdujo el mecanismo de declaración de tipos, y nos encantó. Sin embargo, tuvimos la sensación de que sería mucho mejor, a la hora de declarar un parámetro, indicar si puede ser “null” (o nulo) y al mismo tiempo hacer que fuera opcional. Esto es posible ahora en PHP 7.1. El siguiente código no funcionaba en PHP 7.0:
var_dump($g);
}func01(100); // int(100)
func01(null); // TypeError
La segunda vez que llamamos a la función, PHP 7.0 devolverá un mensaje de error porque “null” no es compatible y la función espera un entero. Para solucionar este código tuvimos que utilizar instrucciones “if” para comprobar si la función pasaba a “null”. PHP 7.1 resuelve este problema con mucha elegancia y para lograr nuestro objetivo solo tenemos que modificar la función y añadir un solo signo de interrogación al comienzo del nombre del tipo:
var_dump($g);
}
Esto significa que “null” es opcional. ¡Fantástico!
- La biblioteca mcrypt ha quedado en desuso. Todo el mundo sabe que si usas mcrypt y lo añades a tu código lo estarás haciendo mal y deberás revisar y reemplazar el código en favor de OpenSSL. Aún así, nos gusta el hecho de que mcrypt finalmente esté en desuso y que vaya a ser completamente eliminado pronto. De esta forma, PHP fuerza a los nuevos desarrolladores a usar OpenSSL en vez de mcrypt.
PHP 7.1 y su adopción entre los sistemas de gestión de contenidos más populares
Hemos probado los tres sistemas de gestión de contenidos más populares (WordPress, Joomla! y Drupal) y los resultados son los siguientes:
- Actualmente, WordPress 4.6 no es compatible con PHP 7.1. WordPress 4.7, que está programado para ser publicado el martes 6 de Diciembre, es totalmente compatible con PHP 7.1 y funciona como se esperaba.
- Joomla! versión 3.6.4 funciona tal y como se espera con PHP 7.1
- Drupal 8.2.3 también funciona como se esperaba con PHP 7.1
Ten en cuenta que hemos probado solo el núcleo de las aplicaciones anteriormente mencionadas. Cualquier módulo y plugin que estés utilizando debe ser probado de forma adicional. Nuestro consejo para los usuarios finales es probar PHP 7.1 en una copia en desarrollo de tus webs y, si todo funciona como se esperaba, empezar a utilizar PHP 7.1 en las webs activas. Con el fin de crear fácilmente una copia en desarrollo de una web en WordPress o Joomla! puedes usar nuestra herramienta de staging.
Nosotros también hemos probado cuidadosamente nuestros plugins SuperCacher de WordPress y Joomla! y estamos contentos de poder decir que funcionan tal y como se esperaba con PHP 7.1.
Cómo cambiar la versión de PHP a la 7.1 en tu cuenta de SiteGround
Nuestra exclusiva configuración de servidor permite a los usuarios usar distintas versiones de PHP en carpetas diferentes. Por defecto, la versión PHP de toda cuenta nueva es la 5.6. Ofrecemos una herramienta en el cPanel llamada “PHP Version Manager” que puede usarse para cambiar la versión por defecto de PHP de una carpeta a la nueva versión 7.1. Para poder cambiar la versión PHP de tu web o de una carpeta específica, solo tienes que ir a cPanel → “PHP Version Manager” y seleccionar la carpeta en la que se encuentra tu web. A continuación, selecciona PHP 7.1.0 y haz clic en el botón “Guardar”, tal y como se muestra en la captura de pantalla:
Para más detalles visita nuestro tutorial de “PHP Version Manager”.
PHP 7.1 ya está disponible en todos los servidores compartidos y también se desplegará a los servidores de la nube en los próximos días. Los usuarios de servidores dedicados también pueden recibirlo a petición.
¡Gracias! Tu comentario esta pendiente de ser moderado y será publicado en breve si esta relacionado con el artículo del blog. Comentarios sobre soporte o incidencias no serán publicados. En tal caso, por favor repórtalo directamente a través de
Iniciar discusión
¡Gracias! Tu comentario esta pendiente de ser moderado y será publicado en breve si esta relacionado con el artículo del blog. Comentarios sobre soporte o incidencias no serán publicados. En tal caso, por favor repórtalo directamente a través de