{"id":34876,"date":"2022-10-13T07:00:39","date_gmt":"2022-10-13T14:00:39","guid":{"rendered":"https:\/\/dhblog.dream.press\/blog\/?p=34876"},"modified":"2025-01-16T13:04:28","modified_gmt":"2025-01-16T21:04:28","slug":"guia-desarrolladores-php-8-2","status":"publish","type":"post","link":"https:\/\/www-dev.dreamhost.com\/blog\/es\/guia-desarrolladores-php-8-2\/","title":{"rendered":"PHP 8.2: \u00bfQu\u00e9 Esperar? (Una Gu\u00eda Para Desarrolladores)"},"content":{"rendered":"\n<p><span style=\"font-weight: 400;\">Se espera que la versi\u00f3n PHP 8.2 sea lanzada en noviembre de este a\u00f1o, con la versi\u00f3n estable m\u00e1s reciente siendo 8.1.5. Aunque a\u00fan es muy temprano, ha habido algo de recepci\u00f3n mixta sobre la actualizaci\u00f3n.&nbsp;<\/span><\/p>\n\n\n\n<p><span style=\"font-weight: 400;\">Sin embargo, saber qu\u00e9 esperar puede ayudarte a <\/span><a href=\"https:\/\/www.dreamhost.com\/blog\/es\/actualizar-php\/\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">prepararte mejor para la m\u00e1s reciente versi\u00f3n de PHP<\/span><\/a><span style=\"font-weight: 400;\">. Al aprender sobre las nuevas funciones y aquellas que ser\u00e1n eliminadas, puedes entender c\u00f3mo puede afectar el desarrollo esta actualizaci\u00f3n. Este conocimiento tambi\u00e9n puede ayudarte a prepararte para un lanzamiento eventual.&nbsp;<\/span><\/p>\n\n\n\n<p><span style=\"font-weight: 400;\">En esta publicaci\u00f3n, recapitulamos las versiones m\u00e1s recientes de PHP. Luego cubriremos todo lo nuevo de PHP 8.2 y hablaremos sobre la agenda de lanzamiento. \u00a1Comencemos!<\/span><\/p>\n\n\n\n<h2 id=\"h-una-vista-general-de-las-versiones-php\" class=\"wp-block-heading\"><b>Una Vista General de Las Versiones PHP<\/b><\/h2>\n\n\n\n<p><span style=\"font-weight: 400;\">El <\/span><a href=\"https:\/\/help.dreamhost.com\/hc\/es\/articles\/214202188-Generalidades-de-PHP\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">PHP<\/span><\/a><span style=\"font-weight: 400;\"> es el lenguaje principal de programaci\u00f3n de WordPress. Juega un papel vital al convertir la informaci\u00f3n de tu base de datos en p\u00e1ginas web HTML que tus visitantes pueden acceder.<\/span><\/p>\n\n\n\n<p><span style=\"font-weight: 400;\">Como due\u00f1o de un sitio web o desarrollador, es probable que est\u00e9s familiarizado con la importancia de mantener actualizados tus temas, plugins y versi\u00f3n <\/span><i><span style=\"font-weight: 400;\">core<\/span><\/i><span style=\"font-weight: 400;\"> de WordPress. Sin embargo, tambi\u00e9n es cr\u00edtico mantener tu PHP actualizado.&nbsp;<\/span><\/p>\n\n\n\n<p><span style=\"font-weight: 400;\">\n<div class=\"single__related-article\">\n\t<span>Related Article<\/span>\n\t<div class=\"single__related-article__wrap\">\n\t\t<div class=\"single__related-article__title\">\n\t\t\tPor Qu\u00e9 Deber\u00edas Actualizar Tu Versi\u00f3n PHP (Y C\u00f3mo Hacerlo)\n\t\t<\/div>\n\t\t<a href=\"https:\/\/www-dev.dreamhost.com\/blog\/es\/actualizar-php\/\" class=\"btn btn--sm btn--brand\" target=\"_blank\" rel=\"noopener\">\n\t\t\tRead More\n\t\t<\/a>\n\t<\/div>\n<\/div>\n<\/span><\/p>\n\n\n\n<p><span style=\"font-weight: 400;\">Actualmente, WordPress recomienda usar como m\u00ednimo <\/span><a href=\"https:\/\/wordpress.org\/about\/requirements\/\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">PHP 7.4<\/span><\/a><span style=\"font-weight: 400;\">. Las versiones m\u00e1s antiguas ya no reciben soporte activo de actualizaciones de seguridad y soluciones de bugs. Por lo tanto, actualizar tu PHP a la versi\u00f3n m\u00e1s estable, puede resultar en una mejor seguridad de sitio, rendimiento mejorado y niveles m\u00e1s altos de soporte (hacemos \u00e9nfasis en la palabra estable, ya que WordPress no es completamente compatible con PHP 8.0 a\u00fan, entonces recomendamos realizar tus actualizaciones con precauci\u00f3n).<\/span><\/p>\n\n\n\n<p><span style=\"font-weight: 400;\">PHP 7.4 introdujo propiedades escritas, un separador num\u00e9rico de gui\u00f3n bajo y varias mejoras. Desde entonces, han sido lanzadas un par m\u00e1s de <\/span><a href=\"https:\/\/php.watch\/versions\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">versiones de PHP<\/span><\/a><span style=\"font-weight: 400;\">.&nbsp;<\/span><\/p>\n\n\n\n<p><span style=\"font-weight: 400;\">PHP 8.0, lanzado en noviembre del 2020, trajo consigo un pu\u00f1ado de funciones esenciales. En adici\u00f3n a la sintaxis y las mejoras de rendimiento, el lanzamiento incluy\u00f3:<\/span><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><span style=\"font-weight: 400;\">Par\u00e1metros nombrados<\/span><\/li>\n\n\n\n<li><span style=\"font-weight: 400;\">Coincidencia de sintaxis<\/span><\/li>\n\n\n\n<li><span style=\"font-weight: 400;\">Tipos de uni\u00f3n<\/span><\/li>\n\n\n\n<li><span style=\"font-weight: 400;\">Promoci\u00f3n Inmobiliaria Constructora<\/span><\/li>\n\n\n\n<li><span style=\"font-weight: 400;\">JIT (el cual afecta c\u00f3mo ejecuta el PHP las fuentes de c\u00f3digo)<\/span><\/li>\n\n\n<\/ul>\n\n\n\n<p><span style=\"font-weight: 400;\">Un a\u00f1o despu\u00e9s vino PHP 8.1, la \u00faltima versi\u00f3n principal de PHP. Esta actualizaci\u00f3n incluye funciones significativas, tales como:<\/span><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><span style=\"font-weight: 400;\">Tipos de intersecci\u00f3n<\/span><\/li>\n\n\n\n<li><span style=\"font-weight: 400;\">Propiedades <\/span><span style=\"font-family: 'courier new', courier, monospace;\">Readonly<\/span><\/li>\n\n\n\n<li><span style=\"font-weight: 400;\">Enums<\/span><\/li>\n\n\n\n<li><span style=\"font-weight: 400;\">Fibras<\/span><\/li>\n\n\n\n<li><span style=\"font-weight: 400;\">Tipos <\/span><span style=\"font-weight: 400; font-family: 'courier new', courier, monospace;\">Never<\/span> <span style=\"font-weight: 400;\">return<\/span><\/li>\n\n\n<\/ul>\n\n\n\n<p><span style=\"font-weight: 400;\">Mantenerte al tanto de las \u00faltimas versiones de PHP puede ayudarte a impulsar el rendimiento y la seguridad de tu sitio web. Sin embargo, es importante saber qu\u00e9 cambios esperar antes de que hagas tu actualizaci\u00f3n. Si est\u00e1s interesado en probar el estado actual de PHP 8.2, puedes hacerlo a trav\u00e9s de <\/span><a href=\"https:\/\/github.com\/devilbox\/docker-php-fpm-8.2\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">GitHub<\/span><\/a><span style=\"font-weight: 400;\">.<\/span><\/p>\n\n\n\n<h2 id=\"h-que-hay-de-nuevo-en-php-8-2\" class=\"wp-block-heading\"><b>Qu\u00e9 Hay de Nuevo en PHP 8.2<\/b><\/h2>\n\n\n\n<p><span style=\"font-weight: 400;\">Se espera que PHP 8.2 sea lanzado a finales de 2022. Aqu\u00ed est\u00e1 la <\/span><a href=\"https:\/\/wiki.php.net\/todo\/php82\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">agenda actual de lanzamiento<\/span><\/a><span style=\"font-weight: 400;\">, con Disponibilidad General (GA) programada para el 24 de noviembre, 2022:<\/span><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><b>Junio 9:<\/b><span style=\"font-weight: 400;\"> Alpha 1<\/span><\/li>\n\n\n\n<li><b>Junio 23:<\/b><span style=\"font-weight: 400;\"> Alpha 2<\/span><\/li>\n\n\n\n<li><b>Julio 7:<\/b><span style=\"font-weight: 400;\"> Alpha 3<\/span><\/li>\n\n\n\n<li><b>Julio 19:<\/b><span style=\"font-weight: 400;\"> Congelamiento de Funciones<\/span><\/li>\n\n\n\n<li><b>Julio 21:<\/b><span style=\"font-weight: 400;\"> Beta 1<\/span><\/li>\n\n\n\n<li><b>Agosto 4:<\/b><span style=\"font-weight: 400;\"> Beta 2<\/span><\/li>\n\n\n\n<li><b>Agosto 18:<\/b><span style=\"font-weight: 400;\"> Beta 3<\/span><\/li>\n\n\n\n<li><b>Septiembre 1:<\/b><span style=\"font-weight: 400;\"> Candidato de lanzamiento 1<\/span><\/li>\n\n\n\n<li><b>Septiembre 15: <\/b><span style=\"font-weight: 400;\">Candidato de lanzamiento 2<\/span><\/li>\n\n\n\n<li><b>Septiembre 29:<\/b><span style=\"font-weight: 400;\"> Candidato de lanzamiento 3<\/span><\/li>\n\n\n\n<li><b>Octubre 13:<\/b><span style=\"font-weight: 400;\"> Candidato de lanzamiento 4<\/span><\/li>\n\n\n\n<li><b>Octubre 27:<\/b><span style=\"font-weight: 400;\"> Candidato de lanzamiento 5<\/span><\/li>\n\n\n\n<li><b>Noviembre 10:<\/b><span style=\"font-weight: 400;\"> Candidato de lanzamiento 6<\/span><\/li>\n\n\n\n<li><b>Noviembre 24:<\/b><span style=\"font-weight: 400;\"> GA (Disponibilidad General)<\/span><\/li>\n\n\n<\/ul>\n\n\n\n<p><span style=\"font-weight: 400;\">De acuerdo con la documentaci\u00f3n oficial del sitio de PHP, deber\u00eda haber algunas nuevas funciones y aquellas que ser\u00e1n eliminadas. <\/span><span style=\"font-weight: 400;\">\u00a1<\/span><span style=\"font-weight: 400;\">Veamos algunas de ellas<\/span><span style=\"font-weight: 400;\">!<\/span><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-tipos-de-forma-normal-disyuntiva-dnf\"><b>Tipos de Forma Normal Disyuntiva(DNF)<\/b><\/h3>\n\n\n\n<p><span style=\"font-weight: 400;\">PHP 8.2 <\/span><a href=\"https:\/\/wiki.php.net\/rfc\/dnf_types\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">introducir\u00e1<\/span><\/a><span style=\"font-weight: 400;\"> una nueva funci\u00f3n de tipos de <\/span><a href=\"https:\/\/es.wikipedia.org\/wiki\/Forma_normal_disyuntiva\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">Forma Normal Disyuntiva (DNF)<\/span><\/a><span style=\"font-weight: 400;\">. El DNF es una manera estandarizada de organizar expresiones booleanas \u2014 espec\u00edficamente, en una serie ORed de ANDs. Cuando un DNF es aplicado a declaraciones de tipo o \u2018Type\u2019, habilita una manera estandarizada de escribir tipos combinados de \u2018Union\u2019 e \u2018Intersection\u2019 que el analizador puede manejar.&nbsp;<\/span><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-nueva-funcion-mysqli-execute-query-y-metodo-mysqli-execute-query\"><b>Nueva Funci\u00f3n mysqli_execute_query y M\u00e9todo mysqli::execute_query<\/b><\/h3>\n\n\n\n<p><a href=\"https:\/\/wiki.php.net\/rfc\/mysqli_execute_query\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">Ejecutar consultas MySQLi parametrizadas<\/span><\/a><span style=\"font-weight: 400;\"> ser\u00e1 m\u00e1s f\u00e1cil en PHP 8.2, gracias a la nueva funci\u00f3n <\/span><span style=\"font-weight: 400;\">mysqli_execute_query($sql, $params)y el m\u00e9todo<\/span> <span style=\"font-weight: 400;\">mysqli::execute_query<\/span><span style=\"font-weight: 400;\">.<\/span><span style=\"font-weight: 400;\">Esto reducir\u00e1 a\u00fan m\u00e1s la complejidad de emplear solicitudes parametrizadas, lo cual entonces facilitar\u00e1 que los desarrolladores alejarse de&nbsp; <\/span><span style=\"font-weight: 400;\">mysqli_query()<\/span><span style=\"font-weight: 400;\"> as\u00ed como el escape peligroso\/arriesgado de los valores de usuario.<\/span><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-propiedades-fetch-enum-en-expresiones-constantes\"><b>Propiedades \u2018Fetch enum\u2019 en Expresiones Constantes<\/b><\/h3>\n\n\n\n<p><a href=\"https:\/\/wiki.php.net\/rfc\/fetch_property_in_const_expressions\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">Seg\u00fan el RFC<\/span><\/a><span style=\"font-weight: 400;\">, \u201cEste RFC propone permitir el uso de<\/span><span style=\"font-weight: 400;\">-&gt;\/?-&gt; <\/span><span style=\"font-weight: 400;\">para obtener propiedades de enumeraciones en expresiones constantes. La motivaci\u00f3n principal de este cambio es permitir obtener las propiedades de nombre y valor en lugares donde no se permiten objetos de enumeraci\u00f3n, como llaves de <\/span><i><span style=\"font-weight: 400;\">array<\/span><\/i><span style=\"font-weight: 400;\">\u201d.<\/span><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-nueva-extension-random\"><b>Nueva Extensi\u00f3n Random<\/b><\/h3>\n\n\n\n<p><span style=\"font-weight: 400;\">PHP 8.2 introduce una nueva extensi\u00f3n PHP llamada <\/span><span style=\"font-weight: 400;\">random<\/span><span style=\"font-weight: 400;\">. Organiza y consolida la funci\u00f3n existente PHP relacionada con generaci\u00f3n aleatoria de n\u00fameros. Tambi\u00e9n presenta una serie de estructuras de clases PHP y clases de excepci\u00f3n para proporcionar opciones granulares para generadores de n\u00fameros aleatorios y manejo de excepciones.<\/span><\/p>\n\n\n\n<p><span style=\"font-weight: 400;\">La extensi\u00f3n <\/span><span style=\"font-weight: 400;\">random<\/span><span style=\"font-weight: 400;\"> est\u00e1 agrupada con PHP, y no hay una opci\u00f3n de configuraci\u00f3n \u2018compile-time\u2019 o \u2018run-time\u2019 para deshabilitar la extensi\u00f3n <\/span><span style=\"font-weight: 400;\">random<\/span><span style=\"font-weight: 400;\">. La extensi\u00f3n \u2018random\u2019 siempre estar\u00e1 disponible en PHP 8.2 y versiones m\u00e1s nuevas.<\/span><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-nueva-funcion-curl-upkeep\"><b>Nueva Funci\u00f3n curl_upkeep<\/b><\/h3>\n\n\n\n<p><span style=\"font-weight: 400;\">PHP 8.2 a\u00f1ade <\/span><a href=\"https:\/\/php.watch\/versions\/8.2\/curl_upkeep\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">una nueva funci\u00f3n<\/span><\/a><span style=\"font-weight: 400;\"> a la extensi\u00f3n Curl llamada <\/span><span style=\"font-weight: 400;\">curl_upkeep<\/span><span style=\"font-weight: 400;\">. La funci\u00f3n <\/span><span style=\"font-weight: 400;\">curl_upkeep<\/span><span style=\"font-weight: 400;\"> llama a <\/span><span style=\"font-weight: 400;\">curl_easy_upkeep()<\/span><span style=\"font-weight: 400;\"> desde libcurl, que es la biblioteca C subyacente que utiliza la extensi\u00f3n PHP Curl.<\/span><\/p>\n\n\n\n<p><span style=\"font-weight: 400;\">La funci\u00f3n <\/span><span style=\"font-weight: 400;\">curl_upkeep()<\/span><span style=\"font-weight: 400;\"> hace el trabajo que mantiene viva una conexi\u00f3n Curl. Pero no todos los tipos de conexi\u00f3n que Curl integra admiten el mantenimiento de la conexi\u00f3n. Actualmente, solo las conexiones HTTP\/2 lo admiten.<\/span><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-nueva-funcion-ini-parse-quantity\"><b>Nueva Funci\u00f3n ini_parse_quantity<\/b><\/h3>\n\n\n\n<p><a href=\"https:\/\/php.watch\/versions\/8.2\/ini_parse_quantity\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">ini_parse_quantity<\/span><\/a><span style=\"font-weight: 400;\"> es una nueva funci\u00f3n que ser\u00e1 a\u00f1adida a PHP en su versi\u00f3n PHP 8.2. Analiza cualquier tama\u00f1o de datos reconocido por los valores PHP INI (como <\/span><span style=\"font-weight: 400;\">56K<\/span><span style=\"font-weight: 400;\">, <\/span><span style=\"font-weight: 400;\">256M<\/span><span style=\"font-weight: 400;\">, o <\/span><span style=\"font-weight: 400;\">1G<\/span><span style=\"font-weight: 400;\">) y luego devuelve el tama\u00f1o de los datos en bytes. Puede ser \u00fatil al analizar valores INI existentes o proporcionados en una aplicaci\u00f3n PHP. Sin embargo, no reconoce los sufijos IEC para tama\u00f1os de datos como MB, MiB o GB, y no es adecuado para convertir valores de tama\u00f1o de datos est\u00e1ndar en bytes.<\/span><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-nueva-funcion-memory-reset-peak-usage\"><b>Nueva Funci\u00f3n memory_reset_peak_usage<\/b><\/h3>\n\n\n\n<p><span style=\"font-weight: 400;\">PHP 8.2 incluir\u00e1 una nueva funci\u00f3n llamada <\/span><span style=\"font-family: 'courier new', courier, monospace;\"><a href=\"https:\/\/php.watch\/versions\/8.2\/memory_reset_peak_usage\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">memory_reset_peak_usage<\/span><\/a><span style=\"font-weight: 400;\">. <\/span><\/span><span style=\"font-weight: 400;\">Esta restablecer\u00e1 el pico de uso de memoria que devuelve la funci\u00f3n <\/span><span style=\"font-weight: 400; font-family: 'courier new', courier, monospace;\">memory_get_peak_usage<\/span><span style=\"font-weight: 400;\">.&nbsp;<\/span><\/p>\n\n\n\n<p><span style=\"font-weight: 400;\">Esta funci\u00f3n ser\u00e1 \u00fatil para aquellos casos que involucran invocar una acci\u00f3n muchas veces y para grabar el pico de uso de memoria en cada iteraci\u00f3n. Los desarrolladores podr\u00e1n usar esta nueva funci\u00f3n para restablecer el pico de uso de memoria en cualquier momento durante el tiempo de vida de la solicitud.&nbsp;<\/span><\/p>\n\n\n\n<div class=\"article-newsletter article-newsletter--gradient\">\n\n\n<h2>Get Content Delivered Straight to Your Inbox<\/h2><p>Subscribe now to receive all the latest updates, delivered directly to your inbox.<\/p><form class=\"nwsl-form\" id=\"newsletter_block_\" novalidate><div class=\"messages\"><\/div><div class=\"form-group\"><label for=\"input_newsletter_block_\"><input type=\"email\"name=\"email\"id=\"input_newsletter_block_\"placeholder=\"Enter your email address\"novalidatedisabled=\"disabled\"\/><\/label><button type=\"submit\"class=\"btn btn--brand\"disabled=\"disabled\"><span>Sign Me Up!<\/span><svg width=\"21\" height=\"14\" viewBox=\"0 0 21 14\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<path d=\"M13.8523 0.42524L12.9323 1.34521C12.7095 1.56801 12.7132 1.9304 12.9404 2.14865L16.7241 5.7823H0.5625C0.251859 5.7823 0 6.03416 0 6.3448V7.6573C0 7.96794 0.251859 8.2198 0.5625 8.2198H16.7241L12.9405 11.8535C12.7132 12.0717 12.7095 12.4341 12.9323 12.6569L13.8523 13.5769C14.072 13.7965 14.4281 13.7965 14.6478 13.5769L20.8259 7.39879C21.0456 7.17913 21.0456 6.82298 20.8259 6.60327L14.6477 0.42524C14.4281 0.205584 14.0719 0.205584 13.8523 0.42524Z\" fill=\"white\"\/>\n<\/svg>\n<\/button><\/div><\/form><\/div>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-clases-readonly\"><b>Clases Readonly<\/b><\/h3>\n\n\n\n<p><span style=\"font-weight: 400;\">Introducidas en PHP 8.1, las propiedades <\/span><span style=\"font-weight: 400; font-family: 'courier new', courier, monospace;\">readonly<\/span><span style=\"font-weight: 400;\"> ser\u00e1n expandidas en la versi\u00f3n PHP 8.2 para a\u00f1adir az\u00facar sint\u00e1ctico para que todas las propiedades de clases sean <\/span><span style=\"font-weight: 400; font-family: 'courier new', courier, monospace;\">readonly<\/span><span style=\"font-weight: 400;\"> al tiempo:&nbsp;<\/span><\/p>\n\n\n\n<p><strong><span style=\"font-family: 'courier new', courier, monospace;\">readonly class Post<\/span><\/strong><br><strong><span style=\"font-family: 'courier new', courier, monospace;\">{<\/span><\/strong><br><strong><span style=\"font-family: 'courier new', courier, monospace;\">&nbsp;&nbsp;&nbsp;&nbsp;public function __construct(<\/span><\/strong><br><strong><span style=\"font-family: 'courier new', courier, monospace;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public string $title,&nbsp;<\/span><\/strong><br><strong><span style=\"font-family: 'courier new', courier, monospace;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public Author $author,<\/span><\/strong><br><strong><span style=\"font-family: 'courier new', courier, monospace;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public string $body,<\/span><\/strong><br><strong><span style=\"font-family: 'courier new', courier, monospace;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public DateTime $publishedAt,<\/span><\/strong><br><strong><span style=\"font-family: 'courier new', courier, monospace;\">&nbsp;&nbsp;&nbsp;&nbsp;) {}<\/span><\/strong><br><strong><span style=\"font-family: 'courier new', courier, monospace;\">}<\/span><\/strong><\/p>\n\n\n\n<p><span style=\"font-weight: 400;\">Esto prevendr\u00e1 que las propiedades din\u00e1micas sean a\u00f1adidas a las clases.&nbsp;<\/span><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-tipos-null-true-y-false-standalone\"><b>Tipos \u2018Null\u2019, &#8216;True&#8217; y \u2018False Standalone\u2019<\/b><\/h3>\n\n\n\n<p><span style=\"font-weight: 400;\">En PHP 8.2, el tipo de retorno <\/span><span style=\"font-weight: 400;\">false <\/span><span style=\"font-weight: 400;\">estar\u00e1 disponible como un tipo standalone, en vez de ser estrictamente un tipo de Uni\u00f3n para cuando un error ocurra, lo cual ya es posible:<\/span><\/p>\n\n\n\n<p><strong><span style=\"font-family: 'courier new', courier, monospace;\">function alwaysFalse(): false<\/span><\/strong><\/p>\n\n\n\n<p><strong><span style=\"font-family: 'courier new', courier, monospace;\">{<\/span><\/strong><\/p>\n\n\n\n<p><strong><span style=\"font-family: 'courier new', courier, monospace;\">&nbsp;&nbsp;&nbsp;&nbsp;return false;<\/span><\/strong><\/p>\n\n\n\n<p><strong><span style=\"font-family: 'courier new', courier, monospace;\">}<\/span><\/strong><\/p>\n\n\n\n<p><span style=\"font-weight: 400;\">Lo mismo es cierto para el tipo<\/span><span style=\"font-weight: 400;\">&nbsp;<\/span><span style=\"font-weight: 400; font-family: 'courier new', courier, monospace;\">null<\/span><span style=\"font-weight: 400;\">. Por ejemplo, como tipo standalone, a diferencia de antes, <\/span><span style=\"font-weight: 400; font-family: 'courier new', courier, monospace;\">NullPost::getAuthor()<\/span><span style=\"font-weight: 400;\">solo podr\u00e1 regresar <\/span><span style=\"font-weight: 400;\"><span style=\"font-family: 'courier new', courier, monospace;\">null<\/span>.<\/span><span style=\"font-weight: 400;\">&nbsp;<\/span><\/p>\n\n\n\n<p><span style=\"font-weight: 400;\">PHP 8.2 tambi\u00e9n <\/span><a href=\"https:\/\/php.watch\/versions\/8.2\/true-type\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">permite true<\/span><\/a><span style=\"font-weight: 400;\"> como tipo standalone.<\/span><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-propiedades-dinamicas-en-desuso\"><b>Propiedades Din\u00e1micas en Desuso<\/b><\/h3>\n\n\n\n<p><span style=\"font-weight: 400;\">Las <\/span><span style=\"font-family: 'courier new', courier, monospace;\"><a href=\"https:\/\/php.watch\/versions\/8.2\/dynamic-properties-deprecated\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">propiedades din\u00e1micas<\/span><\/a><\/span><span style=\"font-weight: 400;\"> ser\u00e1n removidas en <\/span><span style=\"font-weight: 400;\">PHP 8.2, resultando en un <\/span><span style=\"font-weight: 400; font-family: 'courier new', courier, monospace;\">ErrorException<\/span> <span style=\"font-weight: 400;\">una vez que PHP 9.0 est\u00e9 presente. Estas propiedades son puestas en un objeto<\/span><span style=\"font-weight: 400;\">:<\/span><\/p>\n\n\n\n<p><strong><span style=\"font-family: 'courier new', courier, monospace;\">class Post<\/span><\/strong><\/p>\n\n\n\n<p><strong><span style=\"font-family: 'courier new', courier, monospace;\">{<\/span><\/strong><\/p>\n\n\n\n<p><strong><span style=\"font-family: 'courier new', courier, monospace;\">&nbsp;&nbsp;&nbsp;&nbsp;public string $title;<\/span><\/strong><\/p>\n\n\n\n<p><strong><span style=\"font-family: 'courier new', courier, monospace;\">}<\/span><\/strong><\/p>\n\n\n\n<p><strong><span style=\"font-family: 'courier new', courier, monospace;\">\/\/ \u2026<\/span><\/strong><\/p>\n\n\n\n<p><strong><span style=\"font-family: 'courier new', courier, monospace;\">$post-&gt;name = &#8216;Name&#8217;;<\/span><\/strong><\/p>\n\n\n\n<p><span style=\"font-weight: 400;\">Las propiedades din\u00e1micas permiten flexibilidad cuando est\u00e1s creando clases (ej. Objetos de valor) sin una declaraci\u00f3n estricta de clase. Su eliminaci\u00f3n probablemente ser\u00e1 un problema para los desarrolladores que dependan de las propiedades din\u00e1micas, ya que los llevar\u00e1 m\u00e1s hacia un an\u00e1lisis est\u00e1tico. Por esta raz\u00f3n, algunos desarrolladores est\u00e1n preocupados sobre estos cambios con PHP 8.2.&nbsp;<\/span><\/p>\n\n\n\n<p><span style=\"font-weight: 400;\">Sin embargo, las clases que usen <\/span><span style=\"font-weight: 400; font-family: 'courier new', courier, monospace;\">__get <\/span><span style=\"font-weight: 400;\">y<\/span> <span style=\"font-weight: 400; font-family: 'courier new', courier, monospace;\">__set <\/span><span style=\"font-weight: 400;\">soportar\u00e1n propiedades din\u00e1micas, as\u00ed como tambi\u00e9n <\/span><span style=\"font-weight: 400;\">stdClass<\/span><span style=\"font-weight: 400;\">.<\/span><\/p>\n\n\n\n<p><span style=\"font-weight: 400;\">Alternativamente, los desarrolladores pueden usar el nuevo <\/span><a href=\"https:\/\/php.watch\/versions\/8.2\/AllowDynamicProperties\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">atributo<\/span><span style=\"font-weight: 400; font-family: 'courier new', courier, monospace;\"> #[AllowDynamicProperties]<\/span><\/a><span style=\"font-weight: 400;\">, <\/span><span style=\"font-weight: 400;\">declarados en el espacio de nombre global, en las clases de esas propiedades:<\/span><\/p>\n\n\n\n<p><strong><span style=\"font-family: 'courier new', courier, monospace;\">#[AllowDynamicProperties]<\/span><\/strong><\/p>\n\n\n\n<p><strong><span style=\"font-family: 'courier new', courier, monospace;\">&nbsp;class User() {}<\/span><\/strong><\/p>\n\n\n\n<p><strong><span style=\"font-family: 'courier new', courier, monospace;\">&nbsp;$user = new User();<\/span><\/strong><\/p>\n\n\n\n<p><strong><span style=\"font-family: 'courier new', courier, monospace;\">&nbsp;$user-&gt;foo = &#8216;bar&#8217;;<\/span><\/strong><\/p>\n\n\n\n<p><span style=\"font-weight: 400;\">Mientras que no es recomendable, otra opci\u00f3n es deshabilitar las advertencias de obsolescencia.<\/span><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-nuevo-modificador-n\"><b>Nuevo Modificador \/n<\/b><\/h3>\n\n\n\n<p><span style=\"font-weight: 400;\">PHP 8.2 incluir\u00e1 soporte para el <\/span><a href=\"https:\/\/php.watch\/versions\/8.2\/preg-n-no-capture-modifier\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\"><span style=\"font-family: 'courier new', courier, monospace;\">modificador \/n (no capture)<\/span><\/span><\/a> <span style=\"font-weight: 400;\">de la familia de funciones&nbsp; <\/span><span style=\"font-weight: 400; font-family: 'courier new', courier, monospace;\">preg_*. <\/span><span style=\"font-weight: 400;\">Cuando sea utilizado, cualquier grupo con meta caracteres ( ) no se capturar\u00e1 aparte de los grupos capturados que se nombran. Esencialmente, el resultado es el mismo que marcar cada grupo como no capturador.&nbsp;<\/span><\/p>\n\n\n\n<p><span style=\"font-weight: 400;\">La raz\u00f3n detr\u00e1s de este cambio es que el modificador simplifica las expresiones regulares complejas para m\u00faltiples grupos. En lugar de comercializar cada grupo como no capturador, los desarrolladores pueden marcar todos los grupos como no capturador. Luego, pueden seleccionar y nombrar grupos espec\u00edficos que necesitan capturar.<\/span><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-redactar-parametros-en-back-traces\"><b>Redactar Par\u00e1metros en Back Traces<\/b><\/h3>\n\n\n\n<p><span style=\"font-weight: 400;\">Muchos desarrolladores usan servicios que rastrean seguimientos de stack y los errores de producci\u00f3n provenientes de las bases de c\u00f3digo. Estos servicios pueden notificar a los usuarios cuando y si algo sale mal. Por ejemplo, el seguimiento de las llamadas de stack es \u00fatil cuando est\u00e1s depurando o haciendo debugging en una aplicaci\u00f3n.&nbsp;&nbsp;<\/span><\/p>\n\n\n\n<p><span style=\"font-weight: 400;\">Sin embargo, algunas veces los seguimientos de stack pueden contener informaci\u00f3n sensible, tales como nombres de usuario y contrase\u00f1as. PHP 8.2 incluir\u00e1 un <\/span><a href=\"https:\/\/php.watch\/versions\/8.2\/backtrace-parameter-redaction\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">atributo <\/span><span style=\"font-weight: 400; font-family: 'courier new', courier, monospace;\">#[SensitiveParameter]<\/span><\/a> <span style=\"font-weight: 400;\">que prevendr\u00e1 que esta informaci\u00f3n sea incluida en el seguimiento de stack cuando las cosas salgan mal<\/span><span style=\"font-weight: 400;\">:<\/span><\/p>\n\n\n\n<p><strong><span style=\"font-family: 'courier new', courier, monospace;\">function test(<\/span><\/strong><\/p>\n\n\n\n<p><strong><span style=\"font-family: 'courier new', courier, monospace;\">&nbsp;&nbsp;&nbsp;&nbsp;$foo,<\/span><\/strong><\/p>\n\n\n\n<p><strong><span style=\"font-family: 'courier new', courier, monospace;\">&nbsp;&nbsp;&nbsp;&nbsp;#[SensitiveParameter] $bar,<\/span><\/strong><\/p>\n\n\n\n<p><strong><span style=\"font-family: 'courier new', courier, monospace;\">&nbsp;&nbsp;&nbsp;&nbsp;$baz<\/span><\/strong><\/p>\n\n\n\n<p><strong><span style=\"font-family: 'courier new', courier, monospace;\">) {<\/span><\/strong><\/p>\n\n\n\n<p><strong><span style=\"font-family: 'courier new', courier, monospace;\">&nbsp;&nbsp;&nbsp;&nbsp;throw new Exception(&#8216;Error&#8217;);<\/span><\/strong><\/p>\n\n\n\n<p><strong><span style=\"font-family: 'courier new', courier, monospace;\">}<\/span><\/strong><\/p>\n\n\n\n<p><strong><span style=\"font-family: 'courier new', courier, monospace;\">test(&#8216;foo&#8217;, &#8216;bar&#8217;, &#8216;baz&#8217;);<\/span><\/strong><\/p>\n\n\n\n<p><span style=\"font-weight: 400;\">PHP 8.2 utilizar\u00e1 par\u00e1metros sensibles para redactar informaci\u00f3n privada de los seguimientos de stack, haci\u00e9ndolos m\u00e1s seguros. Estos par\u00e1metros aseguran que la informaci\u00f3n no termine en los registros de error. Ten en cuenta que este atributo solo estar\u00e1 disponible si empleas estos par\u00e1metros.&nbsp;<\/span><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-interpolacion-de-cadenas-obsoletas\"><b>Interpolaci\u00f3n de Cadenas Obsoletas ${}<\/b><\/h3>\n\n\n\n<p><span style=\"font-weight: 400;\">Hay varias formas de insertar variables en cadenas con PHP. Sin embargo, PHP 8.2 dejar\u00e1 en desuso dos m\u00e9todos. El primero es el uso de <\/span><span style=\"font-weight: 400;\">${} <\/span><span style=\"font-weight: 400;\">en las cadenas:&nbsp;<\/span><\/p>\n\n\n\n<p><strong><span style=\"font-family: 'courier new', courier, monospace;\">&#8220;Hello ${world}&#8221;;<\/span><\/strong><\/p>\n\n\n\n<p><strong>The second is using <span style=\"font-family: 'courier new', courier, monospace;\">${} (variable variables):<\/span><\/strong><\/p>\n\n\n\n<p><strong><span style=\"font-family: 'courier new', courier, monospace;\">&#8220;Hello ${(world)}&#8221;;<\/span><\/strong><\/p>\n\n\n\n<p><span style=\"font-weight: 400;\">Esto probablemente no ser\u00e1 un problema significativo para los desarrolladores, ya que los dos m\u00e9todos m\u00e1s populares de interpolaci\u00f3n de cadenas a\u00fan funcionar\u00e1n.&nbsp;<\/span><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-eliminacion-de-callables-parcialmente-soportados\"><b>Eliminaci\u00f3n de <\/b><b><i>Callables<\/i><\/b><b> Parcialmente Soportados<\/b><\/h3>\n\n\n\n<p><span style=\"font-weight: 400;\">Otro cambio ser\u00e1 la eliminaci\u00f3n de <\/span><a href=\"https:\/\/php.watch\/versions\/8.2\/partially-supported-callable-deprecation\" target=\"_blank\" rel=\"noopener\"><i><span style=\"font-weight: 400;\">callables<\/span><\/i><span style=\"font-weight: 400;\"> o llamadas parcialmente soportadas<\/span><\/a><span style=\"font-weight: 400;\">. Hay m\u00faltiples formas de crear una llamada en PHP. Puede ser llamado con o sin los par\u00e1metros&nbsp;<\/span><\/p>\n\n\n\n<p><span style=\"font-weight: 400; font-family: 'courier new', courier, monospace;\">$callable() syntax<\/span><span style=\"font-weight: 400;\"><span style=\"font-family: 'courier new', courier, monospace;\">,<\/span> el <\/span><span style=\"font-weight: 400; font-family: 'courier new', courier, monospace;\">user_call_func(\/a_array)<\/span><span style=\"font-weight: 400;\">, <\/span><span style=\"font-weight: 400;\">o usando una funci\u00f3n con un llamado de regreso<\/span><span style=\"font-weight: 400;\">.&nbsp;<\/span><\/p>\n\n\n\n<p><span style=\"font-weight: 400;\">Los patrones de llamado eliminados incluyen los siguientes<\/span><span style=\"font-weight: 400;\">:<\/span><\/p>\n\n\n\n<p><strong><span style=\"font-family: 'courier new', courier, monospace;\">$callable = &#8220;self::method&#8221;;<\/span><\/strong><\/p>\n\n\n\n<p><strong><span style=\"font-family: 'courier new', courier, monospace;\">$callable = &#8220;parent::method&#8221;;<\/span><\/strong><\/p>\n\n\n\n<p><strong><span style=\"font-family: 'courier new', courier, monospace;\">$callable = &#8220;static::method&#8221;;<\/span><\/strong><\/p>\n\n\n\n<p><strong><span style=\"font-family: 'courier new', courier, monospace;\">$callable = [&#8220;self&#8221;, &#8220;method&#8221;];<\/span><\/strong><\/p>\n\n\n\n<p><strong><span style=\"font-family: 'courier new', courier, monospace;\">$callable = [&#8220;parent&#8221;, &#8220;method&#8221;];<\/span><\/strong><\/p>\n\n\n\n<p><strong><span style=\"font-family: 'courier new', courier, monospace;\">$callable = [&#8220;static&#8221;, &#8220;method&#8221;];<\/span><\/strong><\/p>\n\n\n\n<p><strong><span style=\"font-family: 'courier new', courier, monospace;\">$callable = [&#8220;MyClass&#8221;, &#8220;MyParentClass::myMethod&#8221;];<\/span><\/strong><\/p>\n\n\n\n<p><strong><span style=\"font-family: 'courier new', courier, monospace;\">$callable = [new MyClass(), &#8220;MyOtherClass::myMethod&#8221;];<\/span><\/strong><\/p>\n\n\n\n<p><span style=\"font-weight: 400;\">Comenzando desde PHP 8.2, llamar cualquiera de los anteriores resultar\u00e1 en el siguiente mensaje de eliminaci\u00f3n:<\/span><\/p>\n\n\n\n<p><strong><span style=\"font-family: 'courier new', courier, monospace;\">class Test {<\/span><\/strong><\/p>\n\n\n\n<p><strong><span style=\"font-family: 'courier new', courier, monospace;\">&nbsp;&nbsp;&nbsp;&nbsp;public static function myMethod(): void {<\/span><\/strong><\/p>\n\n\n\n<p><strong><span style=\"font-family: 'courier new', courier, monospace;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo &#8220;Called&#8221;;<\/span><\/strong><\/p>\n\n\n\n<p><strong><span style=\"font-family: 'courier new', courier, monospace;\">&nbsp;&nbsp;&nbsp;&nbsp;}<\/span><\/strong><\/p>\n\n\n\n<p><strong><span style=\"font-family: 'courier new', courier, monospace;\">&nbsp;&nbsp;&nbsp;&nbsp;public static function call(): void {<\/span><\/strong><\/p>\n\n\n\n<p><strong><span style=\"font-family: 'courier new', courier, monospace;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$callable = &#8216;self::myMethod&#8217;;<\/span><\/strong><\/p>\n\n\n\n<p><strong><span style=\"font-family: 'courier new', courier, monospace;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;call_user_func($callable);<\/span><\/strong><\/p>\n\n\n\n<p><strong><span style=\"font-family: 'courier new', courier, monospace;\">&nbsp;&nbsp;&nbsp;&nbsp;}<\/span><\/strong><\/p>\n\n\n\n<p><strong><span style=\"font-family: 'courier new', courier, monospace;\">}<\/span><\/strong><\/p>\n\n\n\n<p><strong><span style=\"font-family: 'courier new', courier, monospace;\">$callable = Test::call();<\/span><\/strong><\/p>\n\n\n\n<p><strong><span style=\"font-family: 'courier new', courier, monospace;\">\/\/ &#8220;Called&#8221;;<\/span><\/strong><\/p>\n\n\n\n<p><span style=\"font-weight: 400;\">Sin embargo, pasar estos llamados a la funci\u00f3n <\/span><span style=\"font-weight: 400;\">&nbsp;<\/span><span style=\"font-weight: 400; font-family: 'courier new', courier, monospace;\">is_callable <\/span><span style=\"font-weight: 400;\">o emplearlos con los tipos de par\u00e1metro de llamado no generar\u00e1 un mensaje de obsolescencia. Para prevenir el mensaje de obsolescencia, los desarrolladores, en cambio, pueden convertir palabras claves est\u00e1ticas, propias o principales en un llamado de c\u00f3digo para sus nombres respectivos de clases utilizando el m\u00e9todo <\/span><span style=\"font-weight: 400; font-family: 'courier new', courier, monospace;\">::class <\/span><span style=\"font-weight: 400;\"><span style=\"font-family: 'courier new', courier, monospace;\">magic<\/span>.&nbsp;<\/span><\/p>\n\n\n\n<p><span style=\"font-weight: 400;\">Parte de la raz\u00f3n detr\u00e1s del cambio es permitir que los llamados sean utilizados para propiedades de tipos. Hace que sean menos dependientes del contexto.&nbsp;<\/span><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-mysqli-ya-no-podra-ser-compilado-con-libmysql\"><b>MySQLi Ya No Podr\u00e1 Ser Compilado con libmysql<\/b><\/h3>\n\n\n\n<p><span style=\"font-weight: 400;\">En el pasado, PHP ha soportado 2 bibliotecas para conectar bases de datos MySQL: <\/span><span style=\"font-weight: 400; font-family: 'courier new', courier, monospace;\">mysqlnd <\/span><span style=\"font-weight: 400;\">y <\/span><span style=\"font-weight: 400; font-family: 'courier new', courier, monospace;\">libmysql<\/span><span style=\"font-weight: 400;\">. <\/span><span style=\"font-weight: 400;\">Desde PHP 5.4, la primera ha sido la biblioteca predeterminada. Sin embargo, ha sido posible compilar MySQLi a trav\u00e9s de extensiones.&nbsp;<\/span><\/p>\n\n\n\n<p><span style=\"font-weight: 400;\">A partir de PHP 8.2, compilar con una extensi\u00f3n MySQLi con <\/span><a href=\"https:\/\/php.watch\/versions\/8.2\/mysqli-libmysql-no-longer-supported\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">libmysql no ser\u00e1 soportado<\/span><\/a><span style=\"font-weight: 400;\">. Intentar hacerlo resultar\u00e1 en un error de configuraci\u00f3n:<\/span><\/p>\n\n\n\n<p><strong><span style=\"font-family: 'courier new', courier, monospace;\">.\/configure &#8211;with-mysqli=FOO<\/span><\/strong><\/p>\n\n\n\n<p><strong><span style=\"font-family: 'courier new', courier, monospace;\">Linking mysqli against external library is no longer supported<\/span><\/strong><\/p>\n\n\n\n<p><span style=\"font-weight: 400;\">Esto probablemente no causar\u00e1 ning\u00fan error significativo para los desarrolladores. Sin embargo, las dos funciones m\u00e1s grandes soportadas por libmysql que no est\u00e1n disponibles con mysqlnd son soportadas para reconexi\u00f3n autom\u00e1tica y autenticaci\u00f3n a trav\u00e9s de LDAP y SASL.&nbsp;<\/span><\/p>\n\n\n\n<h2 id=\"h-manten-actualizada-la-version-php-de-tu-wordpress\" class=\"wp-block-heading\"><b>Mant\u00e9n Actualizada la Versi\u00f3n PHP de Tu WordPress<\/b><\/h2>\n\n\n\n<p><span style=\"font-weight: 400;\">Como desarrollador, es esencial probar tu c\u00f3digo con las pr\u00f3ximas versiones PHP. En este caso, los desarrolladores deber\u00edan comenzar a probar su c\u00f3digo con PHP 8.2 tan pronto como sea posible para asegurar que tu c\u00f3digo no da\u00f1e los sitios de los usuarios cuando realicen la actualizaci\u00f3n.\u00a0<\/span><span style=\"font-weight: 400;\"><\/span><\/p>\n\n\n\n\n<div\n\tclass=\"article-cta-shared article-cta-small\"\n>\n    <div class=\"tr-img-wrap-outer jsLoading\"><img decoding=\"async\" class=\"js-img-lazy \" src=\"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/themes\/blog2018\/assets\/img\/lazy-loading-transparent.webp\" data-srcset=\"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/themes\/blog2018\/assets\/img\/article-small-ad-cta-placeholder.webp 1x, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/themes\/blog2018\/assets\/img\/article-small-ad-cta-placeholder-x2.webp 2x\"  alt=\"Ad background image\" \/><\/div>\n\n\n\n\n  <div class=\"content-btm\">\n    <h2\n      class=\"h2--md\"\n    >\n      El Ambiente Perfecto de Desarrollo\n    <\/h2>\n    <p\n      class=\"p--md\"\n    >\n      Ofrecemos servicios de Shared hosting amigables con todos los presupuestos, con funciones y recursos robustos para ayudarte a crear el sitio web perfecto. Encuentra los planes desde $1.99 USD\/mes.\n    <\/p>\n\n            <a\n            href=\"https:\/\/www.dreamhost.com\/es\/hosting\/\"\n                        class=\"btn btn--white-outline btn--sm btn--round\"\n                                    target=\"_blank\"\n            rel=\"noopener noreferrer\"\n            >\n                            Adquiere Tu Plan                    <\/a>\n\n  <\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Se espera que la versi\u00f3n PHP 8.2 sea lanzada en noviembre de este a\u00f1o, con la versi\u00f3n estable m\u00e1s reciente siendo 8.1.5. Aunque a\u00fan es muy temprano, ha habido algo de recepci\u00f3n mixta sobre la actualizaci\u00f3n.&nbsp; Sin embargo, saber qu\u00e9 esperar puede ayudarte a prepararte mejor para la m\u00e1s reciente versi\u00f3n de PHP. Al aprender [&hellip;]<\/p>\n","protected":false},"author":1036,"featured_media":34862,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_yoast_wpseo_metadesc":"Se espera que la versi\u00f3n 8.2 de PHP sea lanzada en Noviembre del 2022. Conoce lo que trae esta nueva versi\u00f3n, y c\u00f3mo preparar tu sitio.","toc_headlines":"[[\"h-una-vista-general-de-las-versiones-php\",\"Una Vista General de Las Versiones PHP\"],[\"h-que-hay-de-nuevo-en-php-8-2\",\"Qu\u00e9 Hay de Nuevo en PHP 8.2\"],[\"h-manten-actualizada-la-version-php-de-tu-wordpress\",\"Mant\u00e9n Actualizada la Versi\u00f3n PHP de Tu WordPress\"]]","hide_toc":false,"footnotes":""},"categories":[11670],"tags":[],"class_list":["post-34876","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-charlas-tec"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.3 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>PHP 8.2: \u00bfQu\u00e9 Esperar? (Gu\u00eda para desarrolladores) - DreamHost<\/title>\n<meta name=\"description\" content=\"Se espera que la versi\u00f3n 8.2 de PHP sea lanzada en Noviembre del 2022. Conoce lo que trae esta nueva versi\u00f3n, y c\u00f3mo preparar tu sitio.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www-dev.dreamhost.com\/blog\/es\/guia-desarrolladores-php-8-2\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PHP 8.2: \u00bfQu\u00e9 Esperar? (Una Gu\u00eda Para Desarrolladores)\" \/>\n<meta property=\"og:description\" content=\"Se espera que la versi\u00f3n 8.2 de PHP sea lanzada en Noviembre del 2022. Conoce lo que trae esta nueva versi\u00f3n, y c\u00f3mo preparar tu sitio.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www-dev.dreamhost.com\/blog\/es\/guia-desarrolladores-php-8-2\/\" \/>\n<meta property=\"og:site_name\" content=\"DreamHost Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DreamHost\/\" \/>\n<meta property=\"article:published_time\" content=\"2022-10-13T14:00:39+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-01-16T21:04:28+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2022\/06\/Latest-PHP-Update-ES.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Luke Odom\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2022\/06\/Latest-PHP-Update-ES.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@dreamhost\" \/>\n<meta name=\"twitter:site\" content=\"@dreamhost\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Luke Odom\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutes\" \/>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"PHP 8.2: \u00bfQu\u00e9 Esperar? (Gu\u00eda para desarrolladores) - DreamHost","description":"Se espera que la versi\u00f3n 8.2 de PHP sea lanzada en Noviembre del 2022. Conoce lo que trae esta nueva versi\u00f3n, y c\u00f3mo preparar tu sitio.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www-dev.dreamhost.com\/blog\/es\/guia-desarrolladores-php-8-2\/","og_locale":"en_US","og_type":"article","og_title":"PHP 8.2: \u00bfQu\u00e9 Esperar? (Una Gu\u00eda Para Desarrolladores)","og_description":"Se espera que la versi\u00f3n 8.2 de PHP sea lanzada en Noviembre del 2022. Conoce lo que trae esta nueva versi\u00f3n, y c\u00f3mo preparar tu sitio.","og_url":"https:\/\/www-dev.dreamhost.com\/blog\/es\/guia-desarrolladores-php-8-2\/","og_site_name":"DreamHost Blog","article_publisher":"https:\/\/www.facebook.com\/DreamHost\/","article_published_time":"2022-10-13T14:00:39+00:00","article_modified_time":"2025-01-16T21:04:28+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2022\/06\/Latest-PHP-Update-ES.jpg","type":"image\/jpeg"}],"author":"Luke Odom","twitter_card":"summary_large_image","twitter_image":"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2022\/06\/Latest-PHP-Update-ES.jpg","twitter_creator":"@dreamhost","twitter_site":"@dreamhost","twitter_misc":{"Written by":"Luke Odom","Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www-dev.dreamhost.com\/blog\/es\/guia-desarrolladores-php-8-2\/#article","isPartOf":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/es\/guia-desarrolladores-php-8-2\/"},"author":{"name":"Luke Odom","@id":"https:\/\/www-dev.dreamhost.com\/blog\/#\/schema\/person\/89b848f30904144bdbed4743605a55db"},"headline":"PHP 8.2: \u00bfQu\u00e9 Esperar? (Una Gu\u00eda Para Desarrolladores)","datePublished":"2022-10-13T14:00:39+00:00","dateModified":"2025-01-16T21:04:28+00:00","mainEntityOfPage":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/es\/guia-desarrolladores-php-8-2\/"},"wordCount":2341,"publisher":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/#organization"},"image":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/es\/guia-desarrolladores-php-8-2\/#primaryimage"},"thumbnailUrl":"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2022\/06\/Latest-PHP-Update-Feature.jpeg","articleSection":["Charlas de Tecnolog\u00eda"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www-dev.dreamhost.com\/blog\/es\/guia-desarrolladores-php-8-2\/","url":"https:\/\/www-dev.dreamhost.com\/blog\/es\/guia-desarrolladores-php-8-2\/","name":"PHP 8.2: \u00bfQu\u00e9 Esperar? (Gu\u00eda para desarrolladores) - DreamHost","isPartOf":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/es\/guia-desarrolladores-php-8-2\/#primaryimage"},"image":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/es\/guia-desarrolladores-php-8-2\/#primaryimage"},"thumbnailUrl":"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2022\/06\/Latest-PHP-Update-Feature.jpeg","datePublished":"2022-10-13T14:00:39+00:00","dateModified":"2025-01-16T21:04:28+00:00","description":"Se espera que la versi\u00f3n 8.2 de PHP sea lanzada en Noviembre del 2022. Conoce lo que trae esta nueva versi\u00f3n, y c\u00f3mo preparar tu sitio.","breadcrumb":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/es\/guia-desarrolladores-php-8-2\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www-dev.dreamhost.com\/blog\/es\/guia-desarrolladores-php-8-2\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www-dev.dreamhost.com\/blog\/es\/guia-desarrolladores-php-8-2\/#primaryimage","url":"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2022\/06\/Latest-PHP-Update-Feature.jpeg","contentUrl":"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2022\/06\/Latest-PHP-Update-Feature.jpeg","width":900,"height":598,"caption":"what to expect with PHP 8.2"},{"@type":"BreadcrumbList","@id":"https:\/\/www-dev.dreamhost.com\/blog\/es\/guia-desarrolladores-php-8-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/dhblog.dream.press\/blog\/"},{"@type":"ListItem","position":2,"name":"PHP 8.2: \u00bfQu\u00e9 Esperar? (Una Gu\u00eda Para Desarrolladores)"}]},{"@type":"WebSite","@id":"https:\/\/www-dev.dreamhost.com\/blog\/#website","url":"https:\/\/www-dev.dreamhost.com\/blog\/","name":"DreamHost Blog","description":"","publisher":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www-dev.dreamhost.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www-dev.dreamhost.com\/blog\/#organization","name":"DreamHost","url":"https:\/\/www-dev.dreamhost.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www-dev.dreamhost.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/dhblog.dream.press\/blog\/wp-content\/uploads\/2019\/01\/dh_logo-blue-2.png","contentUrl":"https:\/\/dhblog.dream.press\/blog\/wp-content\/uploads\/2019\/01\/dh_logo-blue-2.png","width":1200,"height":168,"caption":"DreamHost"},"image":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DreamHost\/","https:\/\/x.com\/dreamhost","https:\/\/www.instagram.com\/dreamhost\/","https:\/\/www.linkedin.com\/company\/dreamhost\/","https:\/\/www.youtube.com\/user\/dreamhostusa"]},{"@type":"Person","@id":"https:\/\/www-dev.dreamhost.com\/blog\/#\/schema\/person\/89b848f30904144bdbed4743605a55db","name":"Luke Odom","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/c56e64d8cecd561c4e2cb65fc16717105fc6d29044bbd8c78cbd4619a31e7098?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/c56e64d8cecd561c4e2cb65fc16717105fc6d29044bbd8c78cbd4619a31e7098?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c56e64d8cecd561c4e2cb65fc16717105fc6d29044bbd8c78cbd4619a31e7098?s=96&d=mm&r=g","caption":"Luke Odom"},"description":"Luke is the Director of IT Operations. He is responsible for the teams that keep operations running smoothly... In his free time, he enjoys reading fantasy\/sci-fi and hanging out with his wife and 4 kids. Connect with Luke on LinkedIn: https:\/\/www.linkedin.com\/in\/luke-odom-039986a\/","url":"https:\/\/www-dev.dreamhost.com\/blog\/author\/dreamhostluke\/"}]}},"lang":"es","translations":{"es":34876,"en":34859,"de":50851,"pt":51398,"pl":51402,"ru":51405,"uk":51416,"it":68537,"fr":70669,"nl":70695},"pll_sync_post":[],"_links":{"self":[{"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/posts\/34876","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/users\/1036"}],"replies":[{"embeddable":true,"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/comments?post=34876"}],"version-history":[{"count":8,"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/posts\/34876\/revisions"}],"predecessor-version":[{"id":63153,"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/posts\/34876\/revisions\/63153"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/media\/34862"}],"wp:attachment":[{"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/media?parent=34876"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/categories?post=34876"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/tags?post=34876"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}