{"id":19431,"date":"2018-11-05T11:30:50","date_gmt":"2018-11-05T10:30:50","guid":{"rendered":"https:\/\/kinsta.com\/?p=31095"},"modified":"2025-02-25T13:24:10","modified_gmt":"2025-02-25T12:24:10","slug":"nueva-version-php-7-3","status":"publish","type":"post","link":"https:\/\/kinsta.com\/es\/blog\/nueva-version-php-7-3\/","title":{"rendered":"\u00bfQu\u00e9 Hay de Nuevo en PHP 7.3? (Ya Disponible en Kinsta)"},"content":{"rendered":"<p>\u00a1A partir del 6 de diciembre de 2018, la \u00faltima y mejor versi\u00f3n, PHP 7.3 ya est\u00e1 aqu\u00ed! Con \u00e9l vienen nuevas funciones \u00fatiles, funcionalidades, desaprobaciones, un buen n\u00famero de correcciones de errores y un aumento en el rendimiento. <strong>PHP 7.3 ahora tambi\u00e9n est\u00e1 disponible para todos los clientes de Kinsta<\/strong> en <a href=\"https:\/\/my.kinsta.com\/sites\/tools\/?lang=es\" target=\"_blank\" rel=\"noopener noreferrer\">MyKinsta<\/a>. \ud83e\udd18<\/p>\n<p><strong>Actualizaci\u00f3n:<\/strong> <a href=\"https:\/\/kinsta.com\/es\/changelog\/php-8-1\/\">PHP 8.1 (versi\u00f3n oficial)<\/a> ya est\u00e1 disponible para todos los clientes de Kinsta. PHP 7.3 ya no est\u00e1 soportado por Kinsta. Ten en cuenta que soportamos las versiones de PHP 7.4, 8.0, 8.1, 8.2, 8.3, 8.4 y 8.5.<\/p>\n<p>En este articulo, ofreceremos una vista a todas las caracter\u00edsticas y cambios que nosotros consideramos relevantes. Pero siempre puede checar la lista completa de caracter\u00edsticas, cambios y arreglos de bugs en las <a href=\"https:\/\/github.com\/php\/php-src\/blob\/php-7.3.0beta1\/UPGRADING\" target=\"_blank\" rel=\"noopener noreferrer\">notas de actualizaci\u00f3n de PHP 7.3<\/a> y <a href=\"https:\/\/wiki.php.net\/rfc#php_73\" target=\"_blank\" rel=\"noopener noreferrer\">peticiones para comentarios de PHP 7.3<\/a>.<\/p>\n\n<h2>\u00bfQu\u00e9 Hay de Nuevo en PHP con PHP 7.3?<\/h2>\n<p>En este articulo cubriremos los siguientes cambios de PHP 7.3:<\/p>\n<ul>\n<li><a href=\"#flexible-heredoc-nowdoc\"> Sintaxis Flexibles Heredoc y Nowdoc Implementadas <\/a><\/li>\n<li><a href=\"#trailing-comma-in-function-calls\"> Permitir un Trailing Comma en Llamadas de Funci\u00f3n <\/a><\/li>\n<li><a href=\"#JSON_THROW_ON_ERROR\">JSON_THROW_ON_ERROR<\/a><\/li>\n<li><a href=\"#list\"> List() &#8211; Asignaci\u00f3n de Referencia <\/a><\/li>\n<li><a href=\"#is-countable\"> La funci\u00f3n is_countable <\/a><\/li>\n<li><a href=\"#array-key-first-last\">array_key_first(), array_key_last()<\/a><\/li>\n<li><a href=\"#argon2\"> Mejoras de Contrase\u00f1a Hash Argon2 <\/a><\/li>\n<li><a href=\"#deprecations\">Deprecaciones<\/a><\/li>\n<\/ul>\n<h2 id=\"flexible-heredoc-nowdoc\">Sintaxis Flexibles Heredoc y Nowdoc<\/h2>\n<p>Esto es probablemente una de las mejoras m\u00e1s relevantes que vienen con PHP 7.3, y creemos que esto merece un poco m\u00e1s de atenci\u00f3n. As\u00ed que, antes de adentrarnos a los cambios de heredoc\/nowdoc 7.3, les brindaremos una vista r\u00e1pida de esta funci\u00f3n principal y \u00fatil. Si ya tiene experiencia con nowdoc y heredoc, ser\u00e1 mejor que se salte a la parte con los cambios de PHP 7.3.<\/p>\n<ul>\n<li><a href=\"#heredoc-nowdoc-overview\"> Una vista r\u00e1pida de las sintaxis heredoc y nowdoc <\/a><\/li>\n<li><a href=\"#heredoc-nowdoc-indentation\"> PHP 7.3: Permitir que el Marcador de Cierre Sea Dirigido y que el Espacio en Blanco Principal Sea Despojado <\/a><\/li>\n<li><a href=\"#heredoc-nowdoc-closing-marker\"> PHP 7.3: Remover el Requerimiento de la Nueva L\u00ednea al Final del Marcador de Cierre <\/a><\/li>\n<\/ul>\n<h3 id=\"heredoc-nowdoc-overview\">Una vista de las sintaxis heredoc y nowdoc<\/h3>\n<p><strong>La sintaxis heredoc brinda una forma de agregar una gran cantidad de texto sin la necesidad de escapar las cosas como las citas dobles<\/strong>. Un Heredoc empieza con <code>&lt;&lt;&lt;<\/code> seguido por un marcador, y termina con el mismo marcador seguido por un punto y coma. Aqu\u00ed hay un ejemplo:<\/p>\n<pre><code class=\"language-php\">print &lt;&lt;&lt;EOT\nHeredoc text behaves just like a double-quoted string, without the double quotes.\nEOT;<\/code><\/pre>\n<p>Un nowdoc se comporta como un heredoc, con algunas excepciones:<\/p>\n<ul>\n<li>El identificador est\u00e1 encerrado en citas sencillas (<code>&lt;&lt;&lt;'EOT'<\/code>)<\/li>\n<li>No se hace an\u00e1lisis dentro del nowdoc<\/li>\n<\/ul>\n<p>Aqu\u00ed hay un ejemplo de nowdoc:<\/p>\n<pre><code class=\"language-php\">print &lt;&lt;&lt;'EOT'\nLos Nowdocs son los strings de una sola cita al igual que los heredocs son de citas dobles.\nEOT;<\/code><\/pre>\n<p>Los heredocs y nowdocs comparten las mismas reglas regulando el uso del marcador de cierre:<\/p>\n<ol>\n<li style=\"list-style-type: none\">\n<ol>\n<li>El marcador de cierre debe empezar en la primera columna de la l\u00ednea<\/li>\n<li>El marcador debe seguir las mismas reglas de nombre como cualquier otra etiqueta en PHP: s\u00f3lo debe contener caracteres alfanum\u00e9ricos y guiones bajose.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p>El\u00a0<a href=\"http:\/\/php.net\/manual\/en\/language.types.string.php#language.types.string.syntax.heredoc\" target=\"_blank\" rel=\"noopener noreferrer\">PHP Manual<\/a> advierte:<\/p>\n<blockquote><p>\u201cEs muy importante tomar en cuenta que la l\u00ednea con el identificador no debe contener otros caracteres, a excepci\u00f3n del punto y coma (;). Esto quiere decir especialmente que el identificador puede no estar dirigido, y puede que no haya espacios o pesta\u00f1as antes o despu\u00e9s de un punto y coma. Tambi\u00e9n es importante darse cuenta de que el primer car\u00e1cter antes del identificador de cierre debe ser una l\u00ednea nueva como es definida por el sistema local de operaci\u00f3n. Este es \\n en sistemas UNIX, incluyendo macOS. El delimitador de cierre debe tambi\u00e9n ser seguido por una nueva l\u00ednea.\u201d<\/p><\/blockquote>\n<p><strong>Sintaxis PHP 7.2 inv\u00e1lida:<\/strong><\/p>\n<pre><code class=\"language-php\">class foo {\n    public $bar = &lt;&lt;&lt;EOT\n    bar\n    EOT;\n}\n\/\/ Identifier must not be indented<\/code><\/pre>\n<p><strong>Sintaxis PHP 7.2 v\u00e1lida:<\/strong><\/p>\n<pre><code class=\"language-php\">class foo {\n    public $bar = &lt;&lt;&lt;EOT\nbar\nEOT;\n}<\/code><\/pre>\n<p>Para mantenerlo en corto, en PHP 7.2:<\/p>\n<ul>\n<li>El marcador de cierre puede no ser dirigido<\/li>\n<li>La l\u00ednea con el marcador de cierre puede no contener caracteres como espacios o pesta\u00f1as<\/li>\n<li>El primer car\u00e1cter antes del marcador de cierre debe ser una l\u00ednea nueva<\/li>\n<li>El marcador de cierre debe ser seguido por una l\u00ednea nueva<\/li>\n<\/ul>\n<p>Es lo suficientemente claro que las sintaxis heredoc y nowdoc son bastante restrictivas, pero PHP 7.3 puede cambiar esto un poco con las siguientes mejoras.<\/p>\n<h3>1.\u00a0Permitir que el marcador de cierre sea dirigido y que el espacio en blanco principal sea despojado<\/h3>\n<p><strong>Con PHP 7.3 nos permiten dirigir al marcador de cierre<\/strong>, y podemos escribir el siguiente c\u00f3digo de forma segura:<\/p>\n<pre><code class=\"language-php\">class foo {\n    public $bar = &lt;&lt;&lt;EOT\n        bar\n    EOT;\n}<\/code><\/pre>\n<p>La direcci\u00f3n del marcador de cierre establece la cantidad de espacio en blanco (o pesta\u00f1as) que ser\u00e1n despojadas de cada l\u00ednea del cuerpo. Pero tenga cuidado: <strong>el marcador de cierre jam\u00e1s debe de ser dirigido m\u00e1s all\u00e1 de cualquier otra l\u00ednea del cuerpo.<\/strong><\/p>\n<p>Vea el c\u00f3digo de abajo:<\/p>\n<pre><code class=\"language-php\">class foo {\n    public $bar = &lt;&lt;&lt;EOT\n    bar\n        EOT;\n}<\/code><\/pre>\n<p>El c\u00f3digo anterior deber\u00eda mostrar el siguiente error de an\u00e1lisis gramatical:<\/p>\n<pre> Error gramatical: Nivel de direcci\u00f3n en el cuerpo inv\u00e1lido (esperando por lo menos una direcci\u00f3n ...) en %s en l\u00ednea %d<\/pre>\n<p>Despojar las pesta\u00f1as y espacios en blanco nos permite agregar direcci\u00f3n al cuerpo del heredoc\/nowdoc al mismo nivel del c\u00f3digo alrededor, y sin necesidad de espacios en blancos innecesarios, antes de cada l\u00ednea del cuerpo.<\/p>\n<p>Podemos utilizar pesta\u00f1as y espacios para dirigir, pero no tenemos permitido mezclarlas. Esto quiere decir que <strong>debemos utilizar los mismos caracteres de direcci\u00f3n para el marcador de cierre y cualquier l\u00ednea del cuerpo. <\/strong>En caso de caracteres con direcciones distintas, esperamos un tipo distinto de error gramatical (direcci\u00f3n inv\u00e1lida).<\/p>\n<h3>2. Remover el Requerimiento de la Nueva L\u00ednea al Final del Marcador de Cierre<\/h3>\n<p>Actualmente, una nueva l\u00ednea debe seguir el marcador para poder terminar el heredoc\/nowdoc. PHP 7.3 cambiar\u00eda esto y nos permitir\u00eda terminar el heredoc\/nowdoc en la misma l\u00ednea. Aqu\u00ed hay un ejemplo del RFC:<\/p>\n<p><strong>Sintaxis PHP 7.2 v\u00e1lida:<\/strong><\/p>\n<pre><code class=\"language-php\">$values = [&lt;&lt;&lt;END\na\nb\nc\nEND\n, 'd e f'];<\/code><\/pre>\n<p><strong>Sintaxis PHP 7.3 v\u00e1lida:<\/strong><\/p>\n<pre><code class=\"language-php\">$values = [&lt;&lt;&lt;END\na\nb\nc\nEND, 'd e f'];<\/code><\/pre>\n<p>De cualquier forma, tenga cuidado al elegir el nombre de su marcador porque \u201cocasionalmente\u201d podr\u00e1 encontrarse con un error, si est\u00e9 se parece a una palabra que usted haya usado en el cuerpo del heredoc\/nowdoc (lea m\u00e1s sobre esto en el <a href=\"https:\/\/wiki.php.net\/rfc\/flexible_heredoc_nowdoc_syntaxes\" target=\"_blank\" rel=\"noopener noreferrer\">RFC<\/a> y <a href=\"https:\/\/github.com\/php\/php-src\/blob\/php-7.3.0beta1\/UPGRADING#L33\" target=\"_blank\" rel=\"noopener noreferrer\">GitHub<\/a>).<\/p>\n<p>Ambas propuestas pasaron con m\u00e1s de 2\/3 votos.<\/p>\n<h4>PHP 7.3 RFC<\/h4>\n<ul>\n<li><a href=\"https:\/\/wiki.php.net\/rfc\/flexible_heredoc_nowdoc_syntaxes\" target=\"_blank\" rel=\"noopener noreferrer\"> Sintaxis Heredoc y Nowdoc Flexibles <\/a><\/li>\n<\/ul>\n<h4>Recursos Adicionales<\/h4>\n<ul>\n<li><a href=\"http:\/\/php.net\/manual\/en\/language.types.string.php#language.types.string.syntax.heredoc\" target=\"_blank\" rel=\"noopener noreferrer\"> Sintaxis de String Heredoc <\/a><\/li>\n<li><a href=\"http:\/\/php.net\/manual\/en\/language.types.string.php#language.types.string.syntax.nowdoc\" target=\"_blank\" rel=\"noopener noreferrer\"> Sintaxis de String Nowdoc <\/a><\/li>\n<\/ul>\n<h2 id=\"trailing-comma-in-function-calls\">Permitir un Trailing Comma en Llamadas de Funci\u00f3n<\/h2>\n<p>Las comas finales, son comas agregadas a la lista de elementos, par\u00e1metros o propiedades y son muy \u00fatiles en contextos donde los nuevos valores son agregados frecuentemente porque previenen errores debido a una coma faltante. En PHP las comas finales son permitidas en las matrices, y desde <a href=\"https:\/\/kinsta.com\/es\/blog\/php-7-2\/\" target=\"_blank\" rel=\"noopener noreferrer\">PHP 7.2<\/a> est\u00e1n permitidas en espacios de nombre agrupados.<\/p>\n<p>A partir de PHP 7.3, las comas finales ser\u00e1n permitidas en las funciones de declaraciones. Las <a href=\"http:\/\/php.net\/manual\/en\/language.types.string.php#language.types.string.syntax.nowdoc\" target=\"_blank\" rel=\"noopener noreferrer\">funciones Variad<\/a> brindan un ejemplo de contexto donde las comas finales son extremadamente \u00fatiles:<\/p>\n<pre><code class=\"language-php\">foo(\n    $bar,\n    $baz,\n);<\/code><\/pre>\n<p>Podemos utilizar las comas finales al momento de crear una matriz con <code>compact()<\/code>, para poder regresar a un string formateado con <code>sprintf()<\/code>, o cuando unimos una matriz:<\/p>\n<pre><code class=\"language-php\">$newArray = array_merge(\n    $arrayOne,\n    $arrayTwo,\n    ['foo', 'bar'],\n);<\/code><\/pre>\n<p>Tambi\u00e9n, las comas finales ser\u00e1n \u00fatiles para la resoluci\u00f3n de problemas (debugging).<\/p>\n<pre><code class=\"language-php\">var_dump(\n    $foo,\n    $bar,\n    $baz,\n);<\/code><\/pre>\n<p>Y son poderosas con <code>unset()<\/code> y <code>isset()<\/code>:<\/p>\n<pre><code class=\"language-php\">unset(\n    $foo,\n    $bar,\n    $baz,\n);\n\nisset(\n    $foo,\n    $bar,\n    $baz,\n);<\/code><\/pre>\n<p>Las comas finales tambi\u00e9n estar\u00e1n permitidas en llamadas de m\u00e9todos y documentos adjuntos.<\/p>\n<p>Nota: <strong>Este cambio s\u00f3lo afectar\u00e1 a las llamadas de funci\u00f3n. Las sintaxis de declaraciones de funci\u00f3n no cambiar\u00e1n. <\/strong>Adem\u00e1s de esto, las comas de pie, las m\u00faltiples comas finales y las comas principales no estar\u00e1n permitidas.<\/p>\n<p>Puede encontrar ejemplos adicionales en la <a href=\"https:\/\/wiki.php.net\/rfc\/trailing-comma-function-calls\" target=\"_blank\" rel=\"noopener noreferrer\">p\u00e1gina de RFC<\/a>. Este RFC fue aprobado con un voto de 30 contra 10.<\/p>\n<h4>PHP 7.3 RFC<\/h4>\n<ul>\n<li><a href=\"https:\/\/wiki.php.net\/rfc\/flexible_heredoc_nowdoc_syntaxes\" target=\"_blank\" rel=\"noopener noreferrer\"> Sintaxis Flexibles Heredoc y Nowdoc <\/a><\/li>\n<\/ul>\n<h2 id=\"JSON_THROW_ON_ERROR\">JSON_THROW_ON_ERROR<\/h2>\n<p>Una de las funcionalidades apreciables llegando con PHP 7.3 provee una nueva forma de lidiar con los errores JSON. Esto no es una funci\u00f3n principal, pero una adici\u00f3n a la extensi\u00f3n JSON que cambiar\u00e1 el comportamiento del error de <a href=\"http:\/\/www.php.net\/json_decode\" target=\"_blank\" rel=\"noopener noreferrer\">json_decode()<\/a> y <a href=\"http:\/\/www.php.net\/json_encode\" target=\"_blank\" rel=\"noopener noreferrer\">json_encode()<\/a>.<\/p>\n<p>Actualmente, <code>json_decode()<\/code> regresa <code>null<\/code> en error, pero <code>null<\/code> tambi\u00e9n puede ser un resultado v\u00e1lido. Esto puede ser confuso, porque<\/p>\n<blockquote><p>S\u00f3lo es posible saber si ocurri\u00f3 un error al llamar <code>json_last_error()<\/code> o <code>json_last_error_msg()<\/code>, el cual regresa un estado de error global en las formas respectivas de lectura de maquina y de lectura humana. &#8211; <a href=\"https:\/\/wiki.php.net\/rfc\/json_throw_on_error\" target=\"_blank\" rel=\"noopener noreferrer\">PHP RFC<\/a><\/p><\/blockquote>\n<p><code>json_encode()<\/code> regresa como <code>FALSE<\/code> en error.\u00a0Esto queda m\u00e1s claro porque hay un valor especifico de error. De todas formas, <strong>ambas funciones no deber\u00edan detener la ejecuci\u00f3n del programa durante un error, y tampoco mostrar ni una advertencia.<\/strong><\/p>\n<p>Habiendo dicho esto, aqu\u00ed esta la propuesta para el PHP 7.3:<\/p>\n<blockquote><p>Este RFC en su lugar propone agregar un nuevo valor de opci\u00f3n de flag para <code>json_decode()<\/code> y <code>json_encode()<\/code>, <code>JSON_THROW_ON_ERROR<\/code>. Cuando pase este flag, el comportamiento del error de estas funciones ser\u00e1 cambiado. El estado del error global no ser\u00e1 tocado, y si ocurre un error que pudiera activarlo, estas funciones en su lugar mostrar\u00e1n un <code>JsonException<\/code> con el mensaje y c\u00f3digo establecido respectivamente a <code>json_last_error()<\/code> y <code>json_last_error_msg()<\/code>.<\/p><\/blockquote>\n<p>Aqu\u00ed hay un ejemplo mostrando una forma simple de muestra de un error JSON:<\/p>\n<pre><code class=\"language-php\">try {\n    json_decode(\"{\", false, 512, JSON_THROW_ON_ERROR);\n}\ncatch (\\JsonException $exception) {\n    echo $exception-&gt;getMessage(); \/\/ echoes \"Syntax error\"\n}<\/code><\/pre>\n<p>Mostrar una excepci\u00f3n a partir de un error dar\u00eda varias ventajas que podr\u00e1 encontrar listadas en el <a href=\"https:\/\/wiki.php.net\/rfc\/json_throw_on_error\" target=\"_blank\" rel=\"noopener noreferrer\">RFC<\/a>.<\/p>\n<p>Nota: un par\u00e1metro inv\u00e1lido a profundidad pasado a <code>json_decode()<\/code> muestra una advertencia y regresa como <code>NULL<\/code>. Este comportamiento no ser\u00e1 afectado por <code>JSON_THROW_ON_ERROR<\/code>. Similarmente, los errores de an\u00e1lisis de par\u00e1metro no ser\u00e1n afectadas por <code>JSON_THROW_ON_ERROR<\/code> y seguir\u00e1n produciendo advertencias.<\/p>\n<p>Esta propuesta fue aprobada con 23 a 0 votos.<\/p>\n<h4>PHP 7.3 RFC<\/h4>\n<ul>\n<li><a href=\"https:\/\/wiki.php.net\/rfc\/json_throw_on_error\" target=\"_blank\" rel=\"noopener noreferrer\">JSON_THROW_ON_ERROR<\/a><\/li>\n<\/ul>\n<h4>Recursos Adicionales<\/h4>\n<ul>\n<li><a href=\"http:\/\/php.net\/manual\/en\/book.json.php\" target=\"_blank\" rel=\"noopener noreferrer\">JavaScript Object Notation<\/a><\/li>\n<li><a href=\"http:\/\/php.net\/manual\/en\/function.json-decode.php\" target=\"_blank\" rel=\"noopener noreferrer\">json_decode()<\/a><\/li>\n<li><a href=\"http:\/\/php.net\/manual\/en\/function.json_encode\" target=\"_blank\" rel=\"noopener noreferrer\">json_encode()<\/a><\/li>\n<li><a href=\"http:\/\/php.net\/manual\/en\/function.json-last-error.php\" target=\"_blank\" rel=\"noopener noreferrer\">json_last_error()<\/a><\/li>\n<li><a href=\"http:\/\/php.net\/manual\/en\/function.json-last-error-msg.php\" target=\"_blank\" rel=\"noopener noreferrer\">json_last_error_msg()<\/a><\/li>\n<li><a href=\"http:\/\/php.net\/manual\/en\/language.exceptions.php\" target=\"_blank\" rel=\"noopener noreferrer\">PHP Language Exceptions<\/a><\/li>\n<\/ul>\n<h2 id=\"list\">list() &#8211; Asignaci\u00f3n de Referencia<\/h2>\n<h3>\u00bfQu\u00e9 Significa una Asignaci\u00f3n de Referencia?<\/h3>\n<p>Considere la siguiente l\u00ednea:<\/p>\n<pre><code class=\"language-php\">$b = &$a;<\/code><\/pre>\n<p>Aqu\u00ed <code>$b<\/code> obtiene el valor de <code>$a<\/code>, pero ese valor no est\u00e1 copiado de <code>$a<\/code> al <code>$b<\/code>. En PHP podemos asignar un valor por referencia, queriendo decir que dos variables podr\u00edan apuntar a los mismos datos, y cada cambio a cualquier variable afecta a los datos originales. Aqu\u00ed hay un <a href=\"http:\/\/php.net\/manual\/en\/language.operators.assignment.php#language.operators.assignment.reference\" target=\"_blank\" rel=\"noopener noreferrer\">ejemplo del PHP manual<\/a>:<\/p>\n<pre><code class=\"language-php\">&lt;?php\n$a = 3;\n$b = &$a; \/\/ $b is a reference to $a\n\nprint \"$a\\n\"; \/\/ prints 3\nprint \"$b\\n\"; \/\/ prints 3<\/code><\/pre>\n<p>Ahora, cambiemos el valor de <code>$a<\/code>:<\/p>\n<pre><code class=\"language-php\">$a = 4; \/\/ change $a\n\nprint \"$a\\n\"; \/\/ prints 4\nprint \"$b\\n\"; \/\/ tambi\u00e9n prints 4, ya que $b es una referencia a $a, que ha sido cambiada<\/code><\/pre>\n<h3>\u00bfQu\u00e9 Es list() Construct y C\u00f3mo Cambia con PHP 7.3?<\/h3>\n<p><a href=\"http:\/\/www.php.net\/list\" target=\"_blank\" rel=\"noopener noreferrer\">list()<\/a> construct puede ser usado para \u201casignar variables como si estuvieran en una matriz\u201d, pero con <code>list()<\/code> no nos permiten asignar valores variables por referencia.<\/p>\n<p>PHP 7.3 deber\u00eda cambiar esto, permiti\u00e9ndonos asignar variables por referencia tambi\u00e9n con <code>list()<\/code> construct, como se muestra en el siguiente ejemplo:<\/p>\n<pre><code class=\"language-php\">$array = [1, 2];\nlist($a, &$b) = $array;<\/code><\/pre>\n<p>Que es el mismo que:<\/p>\n<pre><code class=\"language-php\">$array = [1, 2];\n$a = $array[0];\n$b =& $array[1];<\/code><\/pre>\n<p>La ventaja de esta propuesta es que podr\u00edamos asignar m\u00faltiples variables por referencia, la cual no estaba permitida actualmente. Puede encontrar m\u00e1s ejemplos en el <a href=\"https:\/\/wiki.php.net\/rfc\/list_reference_assignment\" target=\"_blank\" rel=\"noopener noreferrer\">RFC<\/a>. Esta propuesta pas\u00f3 con 17 contra 7 votos.<\/p>\n<h4>PHP 7.3 RFC<\/h4>\n<ul>\n<li><a href=\"https:\/\/wiki.php.net\/rfc\/list_reference_assignment\" target=\"_blank\" rel=\"noopener noreferrer\"> list() &#8211; Asignaci\u00f3n de Referencia <\/a><\/li>\n<\/ul>\n<h4>Recursos Adicionales<\/h4>\n<ul>\n<li>PHP Manual &#8211; <a href=\"http:\/\/php.net\/manual\/en\/function.list.php\" target=\"_blank\" rel=\"noopener noreferrer\">list()<\/a><\/li>\n<li>PHP Manual &#8211; <a href=\"http:\/\/php.net\/manual\/en\/language.references.php\" target=\"_blank\" rel=\"noopener noreferrer\"> Referencias Explicadas <\/a><\/li>\n<li>Operadores de Asignaci\u00f3n &#8211; <a href=\"http:\/\/php.net\/manual\/en\/language.operators.assignment.php#language.operators.assignment.reference\" target=\"_blank\" rel=\"noopener noreferrer\"> Asignaci\u00f3n por Referencia <\/a><\/li>\n<\/ul>\n<h2 id=\"is-countable\">La funci\u00f3n is_countable<\/h2>\n<p>Otra caracter\u00edstica \u00fatil que pronto llegar\u00e1 con PHP 7.3 es la funci\u00f3n <code>is_countable()<\/code>. Hasta <a href=\"https:\/\/kinsta.com\/es\/blog\/php-7-2\/\" target=\"_blank\" rel=\"noopener noreferrer\">PHP 7.2<\/a>, obtenemos un error al intentar usar <a href=\"http:\/\/php.net\/manual\/en\/function.count.php\" target=\"_blank\" rel=\"noopener noreferrer\">count()<\/a> con algo que no puede ser contable. Por esta raz\u00f3n, para poder evitar una advertencia, nos vemos forzados en tener que agregar el siguiente c\u00f3digo:<\/p>\n<pre><code class=\"language-php\">if (is_array($foo) || $foo instanceof Countable) {\n    \/\/ $foo is countable\n}<\/code><\/pre>\n<p>Este RFC propone la funci\u00f3n <a href=\"https:\/\/wiki.php.net\/rfc\/is-countable\" target=\"_blank\" rel=\"noopener noreferrer\">is_countable()<\/a>, la cual regresa <code>true<\/code> si la variable dada es una matriz o es una variable contable, de otra forma ser\u00e1 <code>false<\/code>. As\u00ed que, el c\u00f3digo anterior puede ser cambiado de esta forma:<\/p>\n<pre><code class=\"language-php\">if (is_countable($foo)) {\n    \/\/ $foo is countable\n}<\/code><\/pre>\n<p>La propuesta pas\u00f3 con 25 \/ 0 votos.<\/p>\n<h4>PHP 7.3 RFC<\/h4>\n<ul>\n<li><a href=\"https:\/\/wiki.php.net\/rfc\/is-countable\" target=\"_blank\" rel=\"noopener noreferrer\">is_countable<\/a><\/li>\n<\/ul>\n<h4>Recursos Adicionales<\/h4>\n<ul>\n<li><a href=\"http:\/\/php.net\/manual\/en\/class.countable.php\" target=\"_blank\" rel=\"noopener noreferrer\"> La interfaz Contable <\/a><\/li>\n<li><a href=\"http:\/\/php.net\/manual\/en\/function.count.php\" target=\"_blank\" rel=\"noopener noreferrer\">count<\/a><\/li>\n<\/ul>\n<h2 id=\"array-key-first-last\">array_key_first(), array_key_last()<\/h2>\n<p>Actualmente, podemos extraer la primera y \u00faltima llave de una matriz utilizando funciones\u00a0<a href=\"http:\/\/php.net\/manual\/en\/function.reset.php\" target=\"_blank\" rel=\"noopener noreferrer\">reset()<\/a>, <a href=\"http:\/\/php.net\/manual\/en\/function.end.php\" target=\"_blank\" rel=\"noopener noreferrer\">end()<\/a> y <a href=\"http:\/\/php.net\/manual\/en\/function.key.php\" target=\"_blank\" rel=\"noopener noreferrer\">key()<\/a>.\u00a0Desafortunadamente, con estas funciones, no hay forma de obtener el primero o el \u00faltimo \u00edndice de una matriz sin cambiar el estado interno. Otras opciones usualmente reducen el c\u00f3digo de legibilidad y desempe\u00f1o.<br \/>\nEsta propuesta podr\u00eda cambiar este escenario al agregar dos nuevas funciones al PHP core:<\/p>\n<ul>\n<li><code>array_key_first()<\/code><\/li>\n<li><code>array_key_last()<\/code><\/li>\n<\/ul>\n<p>A partir de PHP 7.3, <code>array_key_first()<\/code> y <code>array_key_last()<\/code>permiten extraer la primera y \u00faltima llave de cualquier matriz <strong>sin afectar el apuntador de la matriz interna<\/strong>. Estas nuevas funciones nos permitir\u00edan escribir c\u00f3digo mucho menos complejo y en algunos casos evitar errores. Vea el <a href=\"https:\/\/wiki.php.net\/rfc\/array_key_first_last\" target=\"_blank\" rel=\"noopener noreferrer\">RFC<\/a> para obtener m\u00e1s informaci\u00f3n y varios ejemplos.<\/p>\n<p><code>array_key_first()<\/code> y <code>array_key_last()<\/code> han sido aprobados con 18 contra 14 votos.<\/p>\n<p>Nota: el RFC original propuso dos funciones extras,<code>array_value_first()<\/code> y <code>array_value_last()<\/code>,\u00a0los cuales fueron votados en una encuesta distinta, pero no han sido aprobados y no formar\u00e1n parte del PHP core.<\/p>\n<h4>PHP 7.3 RFC<\/h4>\n<ul>\n<li><a href=\"https:\/\/wiki.php.net\/rfc\/array_key_first_last\" target=\"_blank\" rel=\"noopener noreferrer\">array_key_first(), array_key_last()<\/a><\/li>\n<\/ul>\n<h4>Recursos Adicionales<\/h4>\n<ul>\n<li><a href=\"http:\/\/php.net\/manual\/en\/function.array-key-first.php\" target=\"_blank\" rel=\"noopener noreferrer\">array_key_first<\/a><\/li>\n<li><a href=\"http:\/\/php.net\/manual\/en\/function.array-key-last.php\" target=\"_blank\" rel=\"noopener noreferrer\">array_key_last<\/a><\/li>\n<\/ul>\n<h2 id=\"argon2\">Mejoras de Contrase\u00f1a Hash Argon2<\/h2>\n<p>Argon2 es un algoritmo de hash <a href=\"https:\/\/kinsta.com\/es\/blog\/php-7-2\/\" target=\"_blank\" rel=\"noopener noreferrer\">implementado en PHP 7.2<\/a> como una alternativa al algoritmo Bcrypt. PHP 7.2 introduce la constante <code>PASSWORD_ARGON2I<\/code>, disponible para ser usada en funciones <code>password_*<\/code>:<\/p>\n<pre><code class=\"language-php\">password_hash('password', PASSWORD_ARGON2I);<\/code><\/pre>\n<p>Desde su primera implementaci\u00f3n, una nueva variante de Argon2 ha sido agregada, as\u00ed que, a partir de que se escribi\u00f3 este articulo, Argon2 viene con tres variantes:<\/p>\n<ul>\n<li><strong>Argon2d <\/strong>maximiza la resistencia a los ataques de cracking de GPU. Es m\u00e1s r\u00e1pido y utiliza datos dependiendo del acceso a la memoria.<\/li>\n<li><strong>Argon2i<\/strong> utiliza acceso a memoria de datos independientes, que es preferible para contrase\u00f1as hash. Es m\u00e1s lento ya que hace m\u00e1s pasos sobre la memoria para protegerla de ataques de intercambio.<\/li>\n<li><strong>Argon2id <\/strong>es una versi\u00f3n h\u00edbrida que combina el enfoque de Argon2i para el primer paso sobre la memoria, y el enfoque Argon2d para pasos subsecuentes.<\/li>\n<\/ul>\n<p>Argon2id es recomendado en el internet, a excepci\u00f3n de cuando hayan buenas razones para preferir de forma especifica otra variante.<\/p>\n<p>El nuevo RFC propone la implementaci\u00f3n de Argon2id dentro de las <a href=\"http:\/\/php.net\/manual\/en\/ref.password.php\" target=\"_blank\" rel=\"noopener noreferrer\">password_*<\/a> funciones con la nueva constante <code>PASSWORD_ARGON2ID<\/code>:<\/p>\n<pre><code class=\"language-php\">password_hash('password', PASSWORD_ARGON2ID);<\/code><\/pre>\n<p>La implementaci\u00f3n es id\u00e9ntica a la implementaci\u00f3n Argon2i, y aceptar\u00e1 los mismos factores de costo:<\/p>\n<ul>\n<li>Un <strong>costo de memoria <\/strong>el cual define el n\u00famero de KiB que deben ser consumido durante el hashing (los valores por defecto son 1&lt;&lt;10, o 1024 KiB, o 1MiB)<\/li>\n<li>Un <strong>costo de tiempo <\/strong>que define el n\u00famero de iteraciones del algoritmo de hashing (por defecto a 2)<\/li>\n<li>Un <strong>factor de paralelismo, <\/strong>el cual establece el n\u00famero de hilos paralelos que ser\u00e1n usados durante el hashing (por defecto 2)<\/li>\n<\/ul>\n<p>Vea el siguiente c\u00f3digo:<\/p>\n<pre><code class=\"language-php\">$options = ['memory_cost' =&gt; 1&lt;&lt;11, 'time_cost' =&gt; 4, 'threads' =&gt; 2];\npassword_hash('password', PASSWORD_ARGON2ID, $options);<\/code><\/pre>\n<p>M\u00e1s informaci\u00f3n y ejemplos en el\u00a0<a href=\"https:\/\/wiki.php.net\/rfc\/argon2_password_hash_enhancements\" target=\"_blank\" rel=\"noopener noreferrer\">RFC<\/a>.<\/p>\n<h4>PHP 7.3 RFC<\/h4>\n<ul>\n<li><a href=\"https:\/\/wiki.php.net\/rfc\/argon2_password_hash_enhancements\" target=\"_blank\" rel=\"noopener noreferrer\"> Mejoras de la Contrase\u00f1a Hash Argon2 <\/a><\/li>\n<\/ul>\n<h4>Recursos Adicionales<\/h4>\n<ul>\n<li><a href=\"https:\/\/en.wikipedia.org\/wiki\/Argon2\" target=\"_blank\" rel=\"noopener noreferrer\">Argon2<\/a> (Wikipedia)<\/li>\n<li><a href=\"https:\/\/www.cryptolux.org\/images\/0\/0d\/Argon2.pdf\" target=\"_blank\" rel=\"noopener noreferrer\"> Argon2: la funci\u00f3n dura de memoria para hashing de contrase\u00f1as y otras aplicaciones (PDF) <\/a> (PDF)<\/li>\n<\/ul>\n<h2 id=\"deprecations\">Deprecaciones<\/h2>\n<p>Las siguientes funciones\/funcionalidades ser\u00e1n depreciadas con PHP 7.3 y removidas no m\u00e1s all\u00e1 de PHP 8.0.<\/p>\n<h3>Deprecar y Remover image2wbmp()<\/h3>\n<p>La funci\u00f3n <strong>image2wbmp()<\/strong> saca o guarda una versi\u00f3n <a href=\"https:\/\/en.wikipedia.org\/wiki\/Wireless_Application_Protocol_Bitmap_Format\" target=\"_blank\" rel=\"noopener noreferrer\">WBMP<\/a> de una imagen. Esta funci\u00f3n toma tres argumentos: un recurso de imagen, un nombre de archivo (el camino al archivo guardado), y un color en primer plano.<br \/>\nDesde PHP 5.0, es id\u00e9ntico a <a href=\"http:\/\/php.net\/manual\/en\/function.imagewbmp.php\" target=\"_blank\" rel=\"noopener noreferrer\">imagewbmp()<\/a>, as\u00ed que este <a href=\"https:\/\/wiki.php.net\/rfc\/image2wbmp\" target=\"_blank\" rel=\"noopener noreferrer\">RFC<\/a> propone depreciarlo y removerlo.\u00a0Desde PHP 7.3, cada llamada a\u00a0<code>image2wbmp()<\/code>emitir\u00eda una advertencia de depreciaci\u00f3n. Despu\u00e9s de ser removida, cada llamada mostrar\u00eda un error fatal.<\/p>\n<h4>PHP 7.3 RFC<\/h4>\n<ul>\n<li><a href=\"https:\/\/wiki.php.net\/rfc\/image2wbmp\" target=\"_blank\" rel=\"noopener noreferrer\">Deprecar y Remover image2wbmp()()<\/a><\/li>\n<\/ul>\n<h3>Deprecar y remover constantes que no distinguen entre min\u00fasculas y may\u00fasculas<\/h3>\n<p>PHP actualmente soporta a constantes que son sensibles a las min\u00fasculas y may\u00fasculas, como tambi\u00e9n a las constantes que no lo son. De cualquier forma, <strong>las constantes insensibles <\/strong>est\u00e1n soportadas, pero normalmente tienen inconsistencias en las funcionalidades y pueden ser complejas de usar.<br \/>\nEsta propuesta comienza con las siguientes premisas:<\/p>\n<ul>\n<li>Las <a href=\"http:\/\/php.net\/manual\/en\/language.oop5.constants.php\" target=\"_blank\" rel=\"noopener noreferrer\">class constants<\/a> siempre son sensibles<\/li>\n<li>Las constantes globales declaradas con <code>const<\/code> siempre son sensibles<\/li>\n<li>Las constantes definidas con <code>define()<\/code> son sensibles por defecto<\/li>\n<\/ul>\n<p>Adem\u00e1s de esto, la <a href=\"http:\/\/php.net\/manual\/en\/language.constants.php\" target=\"_blank\" rel=\"noopener noreferrer\">Referencia de Lenguaje de PHP<\/a> expl\u00edcitamente declara:<\/p>\n<blockquote><p>Un constante es sensible a las may\u00fasculas y min\u00fasculas por defecto. Por conveniencia identificadores constantes son de may\u00fasculas.<\/p><\/blockquote>\n<p>Habiendo dicho esto este RFC propone los siguientes cambios:<\/p>\n<ul>\n<li>Llamadas de depreciaci\u00f3n <code>define()<\/code> con un tercer par\u00e1metro establecido a <code>true<\/code> &#8211; PHP 7.3<\/li>\n<li>Constantes sensibles de acceso deprecante con una cubierta distinta de la declaraci\u00f3n con excepci\u00f3n de <code>true<\/code>, <code>false<\/code> and <code>null<\/code>) &#8211; PHP 7.3<\/li>\n<li>Eliminar la posibilidad para declarar constantes insensibles &#8211; PHP 8.0<\/li>\n<li>Convierte <code>true<\/code>, <code>false<\/code> y <code>null<\/code> de constantes con cubierta especial en palabras clave reservadas &#8211; PHP 8.0<\/li>\n<\/ul>\n<h4>PHP 7.3 RFC<\/h4>\n<p><a href=\"https:\/\/wiki.php.net\/rfc\/case_insensitive_constant_deprecation\" target=\"_blank\" rel=\"noopener noreferrer\">Depreciar y Remover Constantes Insensibles a las min\u00fasculas y may\u00fasculas<\/a>.<\/p>\n<h3>Deprecaciones Adicionales para PHP 7.3<\/h3>\n<p>Aqu\u00ed hay una lista r\u00e1pida de funcionalidades depreciadas en PHP 7.3. no es exhaustiva, simplemente son propuestas de depreciaci\u00f3n que personalmente considero m\u00e1s relevantes. Para una lista completa de deprecaciones propuestas, vea <a href=\"https:\/\/wiki.php.net\/rfc\/deprecations_php_7_3\" target=\"_blank\" rel=\"noopener noreferrer\">Deprecaciones para PHP 7.3.<\/a><\/p>\n<p><strong>Alias de funci\u00f3n mbstring sin documentar<\/strong>: hay un n\u00famero de alias de funci\u00f3n sin documentar de <a href=\"http:\/\/php.net\/manual\/en\/book.mbstring.php\" target=\"_blank\" rel=\"noopener noreferrer\">mbstring<\/a> que son duplicados de funciones equivalentes utilizando el <code>mb_<\/code> prefix. Por ejemplo, <code>mbereg<\/code> es un alias de <code>mb_ereg<\/code>.<br \/>\nTodas estas funciones ser\u00e1n marcadas como depreciadas y unas notificaciones de depreciaci\u00f3n ser\u00e1 lanzada cuando sean encontradas durante la compilaci\u00f3n.<\/p>\n<p><strong>Funciones de b\u00fasqueda de string con una aguja entera. <\/strong>Estas funciones usualmente operan sobre agujas de string. Si una aguja sin string es brindada, esta es convertida en un entero y es aplicada como el valor ordinal de un car\u00e1cter (lea m\u00e1s sobre esto en el <a href=\"http:\/\/php.net\/manual\/en\/function.strpos.php\" target=\"_blank\" rel=\"noopener noreferrer\">manual de PHP<\/a>). Aqu\u00ed <a href=\"https:\/\/wiki.php.net\/rfc\/deprecations_php_7_3#string_search_functions_with_integer_needle\" target=\"_blank\" rel=\"noopener noreferrer\">tenemos un ejemplo de RFC:<\/a><\/p>\n<pre><code class=\"language-php\">$str = \"There are 10 apples\";\nvar_dump(strpos($str, \"10\")); \/\/ int(10)\nvar_dump(strpos($str, 10));   \/\/ bool(false)<\/code><\/pre>\n<p>Esto es confuso y causa problemas impredecibles porque el tipo puede cambiar con la fuente de los datos de usuario. Por esta raz\u00f3n, el RFC propone la emisi\u00f3n de una emergencia de depreciaci\u00f3n si una aguja sin string es pasada a una de las siguientes funciones:<\/p>\n<ul>\n<li><code>strpos<\/code><\/li>\n<li><code>strrpos<\/code><\/li>\n<li><code>stripos<\/code><\/li>\n<li><code>strripos<\/code><\/li>\n<li><code>strstr<\/code><\/li>\n<li><code>strchr<\/code><\/li>\n<li><code>strrchr<\/code><\/li>\n<li><code>stristr<\/code><\/li>\n<\/ul>\n<p>En PHP 8.0, la advertencia de depreciaci\u00f3n debe ser removida y las agujas deben ser convertidas de forma autom\u00e1tica en strings. <\/p>\n<p><strong><code>fgetss()<\/code> La funci\u00f3n <code>string.strip_tags<\/code> y filtro de flujo <\/strong>: <code>fgetss()<\/code> y <code>string.strip_tags<\/code> remueve etiquetas de un flujo mientras lo va leyendo. Ambas funciones y el filtro exponen la funcionalidad <a href=\"http:\/\/php.net\/manual\/en\/function.strip-tags.php\" target=\"_blank\" rel=\"noopener noreferrer\">strip_tags()<\/a> haciendo la implementaci\u00f3n del <code>strip_tags()<\/code> algo m\u00e1s completo, ya que una maquina de estado de flujo es requerida. Adicionalmente, el RFC resalta <a href=\"https:\/\/wiki.php.net\/rfc\/deprecations_php_7_3#fgetss_function_and_stringstrip_tags_filter\" target=\"_blank\" rel=\"noopener noreferrer\">otro inconveniente<\/a> de estas funciones:<\/p>\n<blockquote><p>Por un lado, estas funciones pueden lucir poco \u00fatiles. <code>strip_tags()<\/code> por s\u00ed misma, debido a sus limitaciones y bugs conocidos, tiene muy pocas aplicaciones legitimas. No hay raz\u00f3n para proveer un soporte nativo para la aplicaci\u00f3n de streaming adem\u00e1s de todo esto.<\/p><\/blockquote>\n<p>As\u00ed que el RFC propone marcar <code>fgetss()<\/code>, <code>gzgetss()<\/code> y <code>SplFileObject::fgetss()<\/code> como deprecados.<\/p>\n<h2>\u00bfQu\u00e9 Significa\u00a0PHP 7.2 para los Usuarios de WordPress?<\/h2>\n<p>Seg\u00fan la <a href=\"https:\/\/wordpress.org\/about\/stats\/\">p\u00e1gina de estad\u00edsticas oficial de WordPress<\/a>, al tiempo de escribir esto s\u00f3lo el\u00a032.9% de usuarios de WordPress han actualizado a PHP 7. Y s\u00f3lo el 4% utiliza\u00a0<a href=\"https:\/\/kinsta.com\/es\/blog\/php-7-2\/\" target=\"_blank\" rel=\"noopener noreferrer\">PHP 7.2<\/a>. Como puede ver una gran mayor\u00eda de los usuarios, m\u00e1s del 38%, siguen ejecutando en PHP 5.6. Lo que es a\u00fan m\u00e1s atterador es que m\u00e1s del 28.5% de los usuarios utilizan versiones de PHP no soportadas. A partir de diciembre de 2016, WordPress.org realmente destac\u00f3 su <a href=\"https:\/\/wordpress.org\/about\/requirements\/\">recomendaci\u00f3n oficial<\/a> para usuarios de PHP 5.6 a PHP 7 o superior.<\/p>\n<figure id=\"attachment_31275\" aria-describedby=\"caption-attachment-31275\" style=\"width: 1404px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-31275 size-full\" src=\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2018\/08\/wordpress-php-versiones.png\" alt=\"Estad\u00edsticas de WordPress PHP\" width=\"1404\" height=\"1054\"><figcaption id=\"caption-attachment-31275\" class=\"wp-caption-text\">Estad\u00edsticas de WordPress PHP<\/figcaption><\/figure>\n<h3>Rendimiento de PHP 7<\/h3>\n<p>Los n\u00fameros anteriores son especialmente desalentadores desde el punto de vista del rendimiento, ya que PHP 7 ha demostrado ser significativamente m\u00e1s r\u00e1pido. Aqu\u00ed son unas estad\u00edsticas:<\/p>\n<ul>\n<li><a href=\"http:\/\/talks.php.net\/fluent15#\/wpbench\" target=\"_blank\" rel=\"noopener noreferrer\">Puntos de referencia<\/a>\u00a0oficiales de PHP muestran ques PHP 7 permite que el sistema ejecute el doble de solicitudes por segundo en comparaci\u00f3n con PHP 5.6, a casi la mitad de la latencia.<\/li>\n<li>Christian Vigh tambi\u00e9n public\u00f3 una\u00a0<a href=\"https:\/\/www.phpclasses.org\/blog\/post\/493-php-performance-evolution.html\" target=\"_blank\" rel=\"noopener noreferrer\">comparaci\u00f3n de rendimiento de PHP<\/a>\u00a0que demostr\u00f3 que PHP 5.2 ers 400% m\u00e1s lento que PHP 7.<\/li>\n<\/ul>\n<p>Hemos ejecutado nuestras <a href=\"https:\/\/kinsta.com\/es\/blog\/puntos-de-referencia-php\/\" target=\"_blank\" rel=\"noopener noreferrer\">propias pruebas de rendimiento<\/a>.\u00a0Similarmente a los rendimientos de arriba hemos visto que WordPress 5.0 en PHP 7.3 pod\u00eda ejecutar casi 3 veces m\u00e1s transacciones (solicitudes) por segundo que PHP 5.6.<\/p>\n<figure id=\"attachment_37393\" aria-describedby=\"caption-attachment-37393\" style=\"width: 940px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-37393 size-full\" src=\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2018\/12\/wordpress-5.0-php-benchmarks-v2.png\" alt=\"Rendimiento de WordPress\" width=\"940\" height=\"788\"><figcaption id=\"caption-attachment-37393\" class=\"wp-caption-text\">Rendimiento de WordPress<\/figcaption><\/figure>\n<ul>\n<li>WordPress 5.0 PHP 5.6 resultado de rendimiento:\u00a091.64 sol\/seg<\/li>\n<li>WordPress 5.0 PHP 7.0 resultado de rendimiento: 206.71 sol\/seg<\/li>\n<li>WordPress 5.0 PHP 7.1 resultado de rendimiento: 210.98 sol\/seg<\/li>\n<li>WordPress 5.0\u00a0PHP 7.2 resultado de rendimiento:\u00a0229.18 sol\/seg<\/li>\n<li>WordPress 5.0 <strong>PHP 7.3 resultado de rendimiento: 253.20 sol\/seg\u00a0\ud83c\udfc6<\/strong><\/li>\n<\/ul>\n<p>Tambi\u00e9n es interesante notar que WordPress 4.9.8 en PHP 7.3 fue ligeramente m\u00e1s r\u00e1pido que WordPress 5.0.<\/p>\n<figure id=\"attachment_37398\" aria-describedby=\"caption-attachment-37398\" style=\"width: 940px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-37398 size-full\" src=\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2018\/12\/wordpress-4.9.8.png\" alt=\"WordPress 4.9.8 \" width=\"940\" height=\"788\"><figcaption id=\"caption-attachment-37398\" class=\"wp-caption-text\">WordPress 4.9.8<\/figcaption><\/figure>\n<ul>\n<li>WordPress 4.9.8 PHP 5.6 resultado de rendimiento: 97.59 sol\/seg<\/li>\n<li>WordPress 4.9.8 PHP 7.0 resultado de rendimiento: 221.42 sol\/seg<\/li>\n<li>WordPress 4.9.8 PHP 7.1 resultado de rendimiento: 233.78 sol\/seg<\/li>\n<li>WordPress 4.9.8 PHP 7.2 resultado de rendimiento: 250.36 sol\/seg<strong>\u00a0<\/strong><\/li>\n<li>WordPress\u00a04.9.8\u00a0<strong>PHP 7.3 resultado de rendimiento: 276.31 sol\/seg\u00a0\ud83c\udfc6<\/strong><\/li>\n<\/ul>\n<p>Muchos tardan en actualizarse simplemente por el tiempo que lleva probar nuevos plugins y temas de terceros para garantizar que funcionen correctamente.\u00a0Pero muchas veces, todo se reduce a que simplemente no lo han hecho todav\u00eda.<\/p>\n<h3>Comprobando tu versi\u00f3n de PHP<\/h3>\n<p>\u00bfNo est\u00e1 seguro de qu\u00e9 versi\u00f3n de PHP est\u00e1 ejecutando?\u00a0Una de las maneras m\u00e1s f\u00e1ciles de averiguarlo es usar una herramienta como\u00a0<a href=\"https:\/\/kinsta.com\/es\/blog\/herramienta-pingdom\/\" target=\"_blank\" rel=\"noopener noreferrer\">Pingdom<\/a> o Google Chrome Devtools. El primer encabezado de solicitud HTTP generalmente le mostrar\u00e1 la versi\u00f3n.<\/p>\n<figure id=\"attachment_13685\" aria-describedby=\"caption-attachment-13685\" style=\"width: 1679px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-13685 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2017\/10\/check-version-of-php.png\" alt=\"Verifique la versi\u00f3n de PHP\" width=\"1679\" height=\"644\"><figcaption id=\"caption-attachment-13685\" class=\"wp-caption-text\">Verifique la versi\u00f3n de PHP<\/figcaption><\/figure>\n<p>Esto se basa en que el host no modifique el valor del encabezado <code>X-Powered-By<\/code>. Si lo hacen, es posible que no vea su versi\u00f3n de PHP. En cuyo caso, tambi\u00e9n puede instalar un plugin gratuito como <a href=\"https:\/\/wordpress.org\/plugins\/version-info\/\" target=\"_blank\" rel=\"noopener noreferrer\">Version Info<\/a> que le mostrar\u00e1 informaci\u00f3n b\u00e1sica del servidor en el pie de p\u00e1gina de su panel de administraci\u00f3n de WordPress.<\/p>\n<figure id=\"attachment_37448\" aria-describedby=\"caption-attachment-37448\" style=\"width: 1942px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-37448 size-full\" src=\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2018\/08\/verificar-php-versiones-php-wordpress.png\" alt=\"Verificar versiones de PHP en WordPress\" width=\"1942\" height=\"1038\"><figcaption id=\"caption-attachment-37448\" class=\"wp-caption-text\">Verificar versiones de PHP en WordPress<\/figcaption><\/figure>\n<p>Alternativamente, tambi\u00e9n puede <a href=\"https:\/\/kinsta.com\/es\/blog\/versiones-de-php\/\" target=\"_blank\" rel=\"noopener noreferrer\">cargar un archivo v\u00eda FTP<\/a> para ver su versi\u00f3n de PHP, o comunicarse con su host y preguntar.<\/p>\n<h3>Actualizar a\u00a0PHP 7.3<\/h3>\n<p>Una vez PHP 7.2 salga puede comenzar a probar.\u00a0Puede <a href=\"https:\/\/kinsta.com\/es\/blog\/instalar-wordpress-localmente\/\" target=\"_blank\" rel=\"noopener noreferrer\">probar su sitio de WordPress localmente<\/a> o verificar sus scripts en un entorno como <a href=\"https:\/\/docs.docker.com\/get-started\/\" target=\"_blank\" rel=\"noopener noreferrer\">Docker<\/a>, que le permite probar diferentes versiones de PHP desde la l\u00ednea de comandos.<\/p>\n<p>O puede utilizar un entorno de staging, ya que se parecer\u00e1 m\u00e1s a un sitio de producci\u00f3n en vivo.\u00a0Puede f\u00e1cilmente crear un <a href=\"https:\/\/kinsta.com\/es\/docs\/alojamiento-wordpress\/entorno-staging\/\" target=\"_blank\" rel=\"noopener noreferrer\">entorno de staging<\/a> con un solo clic.<\/p>\n<figure id=\"attachment_48182\" aria-describedby=\"caption-attachment-48182\" style=\"width: 2560px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2019\/06\/mykinsta-staging.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-48182 size-full\" src=\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2019\/06\/mykinsta-staging.png\" alt=\"Pruebe en un entorno de staging\" width=\"2560\" height=\"1442\" srcset=\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2019\/06\/mykinsta-staging.png 2560w, https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2019\/06\/mykinsta-staging-300x169.png 300w, https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2019\/06\/mykinsta-staging-1024x577.png 1024w, https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2019\/06\/mykinsta-staging-768x433.png 768w, https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2019\/06\/mykinsta-staging-1536x865.png 1536w, https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2019\/06\/mykinsta-staging-2048x1154.png 2048w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><\/a><figcaption id=\"caption-attachment-48182\" class=\"wp-caption-text\">Pruebe en un entorno de staging<\/figcaption><\/figure>\n<p>Siempre recomendamos realizar pruebas exhaustivas antes de utilizarlo en un sitio de producci\u00f3n. Para hacerlo, simplemente cambie la versi\u00f3n de PHP para el sitio de staging en \u201cHerramientas\u201d y puede comenzar las pruebas para asegurar la compatibilidad de sus plugins y temas de terceros.<\/p>\n<figure id=\"attachment_47731\" aria-describedby=\"caption-attachment-47731\" style=\"width: 2560px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2017\/04\/mykinsta-php-73.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-47731 size-full\" src=\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2017\/04\/mykinsta-php-73.png\" alt=\"Cambio a PHP 7.3 RC 4\" width=\"2560\" height=\"1600\" srcset=\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2017\/04\/mykinsta-php-73.png 2560w, https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2017\/04\/mykinsta-php-73-300x188.png 300w, https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2017\/04\/mykinsta-php-73-1024x640.png 1024w, https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2017\/04\/mykinsta-php-73-768x480.png 768w, https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2017\/04\/mykinsta-php-73-1536x960.png 1536w, https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2017\/04\/mykinsta-php-73-2048x1280.png 2048w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><\/a><figcaption id=\"caption-attachment-47731\" class=\"wp-caption-text\">Cambio a PHP 7.3 RC 4<\/figcaption><\/figure>\n<p>Una vez que confirme que todo est\u00e1 en orden, puede cambiar su sitio de producci\u00f3n a PHP 7.3 o si hab\u00eda modificado algo\u00a0<a href=\"https:\/\/kinsta.com\/es\/docs\/alojamiento-wordpress\/entorno-staging\/\" target=\"_blank\" rel=\"noopener noreferrer\">puede pasar a producci\u00f3n su sitio de prueba<\/a>.<\/p>\n<h2>Resumen<\/h2>\n<p>La \u00faltima y mejor versi\u00f3n de PHP est\u00e1 aqu\u00ed. Nos traen regalos como heredocs flexibles y nowdocs, comas finales en llamadas a funciones, <code>list()<\/code> asignaciones de referencia y m\u00e1s. En esta publicaci\u00f3n, proporcionamos una visi\u00f3n general de nuestros mejoras y cambios favoritos, pero tambi\u00e9n nos gustar\u00eda saber cu\u00e1les son sus favoritos y en qu\u00e9 formas los aprovechar\u00e1. H\u00e1ganos saber en la secci\u00f3n de comentarios a continuaci\u00f3n. \u00a1Y no olvide que <a href=\"https:\/\/kinsta.com\/es\/blog\/acaso-ha-muerto-php\/\" target=\"_blank\" rel=\"noopener noreferrer\">PHP no est\u00e1 muerto!<\/a><\/p>\n\n<p>Puede encontrar la lista completa de propuestas de PHP 7.3 en la p\u00e1ginas <a href=\"https:\/\/wiki.php.net\/rfc#php_73\" target=\"_blank\" rel=\"noopener noreferrer\">Peticiones por Comentarios<\/a> y en las <a href=\"https:\/\/github.com\/php\/php-src\/blob\/php-7.3.0beta1\/UPGRADING\" target=\"_blank\" rel=\"noopener noreferrer\">Notas de Actualizaci\u00f3n de PHP 7.3<\/a> en GitHub.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00a1A partir del 6 de diciembre de 2018, la \u00faltima y mejor versi\u00f3n, PHP 7.3 ya est\u00e1 aqu\u00ed! Con \u00e9l vienen nuevas funciones \u00fatiles, funcionalidades, desaprobaciones, &#8230;<\/p>\n","protected":false},"author":36,"featured_media":19433,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[1317],"class_list":["post-19431","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-actualizaciones-php"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u00bfQu\u00e9 Hay de Nuevo en PHP 7.3? (Ya Disponible en Kinsta)<\/title>\n<meta name=\"description\" content=\"PHP 7.3 est\u00e1 tocando a la puerta y con la actualizaci\u00f3n vienen nuevas caracter\u00edsticas, funcionalidades y deprecaciones \u00fatiles. \u00a1Con\u00f3zcalo m\u00e1s a fondo!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinsta.com\/es\/blog\/nueva-version-php-7-3\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u00bfQu\u00e9 Hay de Nuevo en PHP 7.3? (Ya Disponible en Kinsta)\" \/>\n<meta property=\"og:description\" content=\"PHP 7.3 est\u00e1 tocando a la puerta y con la actualizaci\u00f3n vienen nuevas caracter\u00edsticas, funcionalidades y deprecaciones \u00fatiles. \u00a1Con\u00f3zcalo m\u00e1s a fondo!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/es\/blog\/nueva-version-php-7-3\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinsta.es\/\" \/>\n<meta property=\"article:published_time\" content=\"2018-11-05T10:30:50+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-02-25T12:24:10+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2024\/11\/ES-Homepage-featured-image.png\" \/>\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\/png\" \/>\n<meta name=\"author\" content=\"Carlo Daniele\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"PHP 7.3 est\u00e1 tocando a la puerta y con la actualizaci\u00f3n vienen nuevas caracter\u00edsticas, funcionalidades y deprecaciones \u00fatiles. \u00a1Con\u00f3zcalo m\u00e1s a fondo!\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/wp-content\/uploads\/2018\/08\/php-7.3.png\" \/>\n<meta name=\"twitter:creator\" content=\"@carlodaniele\" \/>\n<meta name=\"twitter:site\" content=\"@Kinsta_ES\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Carlo Daniele\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"19 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/nueva-version-php-7-3\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/nueva-version-php-7-3\/\"},\"author\":{\"name\":\"Carlo Daniele\",\"@id\":\"https:\/\/kinsta.com\/es\/#\/schema\/person\/962dde02ea6f5df089b5d8d0853bbc63\"},\"headline\":\"\u00bfQu\u00e9 Hay de Nuevo en PHP 7.3? (Ya Disponible en Kinsta)\",\"datePublished\":\"2018-11-05T10:30:50+00:00\",\"dateModified\":\"2025-02-25T12:24:10+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/nueva-version-php-7-3\/\"},\"wordCount\":3867,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/es\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/nueva-version-php-7-3\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2018\/11\/php-7.3.png\",\"articleSection\":[\"Desarrollo de WordPress\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/es\/blog\/nueva-version-php-7-3\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/nueva-version-php-7-3\/\",\"url\":\"https:\/\/kinsta.com\/es\/blog\/nueva-version-php-7-3\/\",\"name\":\"\u00bfQu\u00e9 Hay de Nuevo en PHP 7.3? (Ya Disponible en Kinsta)\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/es\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/nueva-version-php-7-3\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/nueva-version-php-7-3\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2018\/11\/php-7.3.png\",\"datePublished\":\"2018-11-05T10:30:50+00:00\",\"dateModified\":\"2025-02-25T12:24:10+00:00\",\"description\":\"PHP 7.3 est\u00e1 tocando a la puerta y con la actualizaci\u00f3n vienen nuevas caracter\u00edsticas, funcionalidades y deprecaciones \u00fatiles. \u00a1Con\u00f3zcalo m\u00e1s a fondo!\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/nueva-version-php-7-3\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/es\/blog\/nueva-version-php-7-3\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/nueva-version-php-7-3\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2018\/11\/php-7.3.png\",\"contentUrl\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2018\/11\/php-7.3.png\",\"width\":1460,\"height\":730,\"caption\":\"php 7.3\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/nueva-version-php-7-3\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/es\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Actualizaciones de PHP\",\"item\":\"https:\/\/kinsta.com\/es\/secciones\/actualizaciones-php\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"\u00bfQu\u00e9 Hay de Nuevo en PHP 7.3? (Ya Disponible en Kinsta)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/es\/#website\",\"url\":\"https:\/\/kinsta.com\/es\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Soluciones de alojamiento premium, r\u00e1pidas y seguras\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/es\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/es\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/es\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/es\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/kinsta.com\/es\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/es\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinsta.es\/\",\"https:\/\/x.com\/Kinsta_ES\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/es\/#\/schema\/person\/962dde02ea6f5df089b5d8d0853bbc63\",\"name\":\"Carlo Daniele\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/kinsta.com\/es\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/429e5568f88110fd9a409b84cb22197e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/429e5568f88110fd9a409b84cb22197e?s=96&d=mm&r=g\",\"caption\":\"Carlo Daniele\"},\"description\":\"Carlo is a passionate lover of webdesign and front-end development. He has been playing with WordPress for more than 20 years, also in collaboration with Italian and European universities and educational institutions. He has written hundreds of articles and guides about WordPress, published both on Italian and international websites, as well as on printed magazines. You can find him on LinkedIn.\",\"sameAs\":[\"https:\/\/frammentidicodice.com\/\",\"https:\/\/x.com\/carlodaniele\"],\"url\":\"https:\/\/kinsta.com\/es\/blog\/author\/carlodaniele\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\u00bfQu\u00e9 Hay de Nuevo en PHP 7.3? (Ya Disponible en Kinsta)","description":"PHP 7.3 est\u00e1 tocando a la puerta y con la actualizaci\u00f3n vienen nuevas caracter\u00edsticas, funcionalidades y deprecaciones \u00fatiles. \u00a1Con\u00f3zcalo m\u00e1s a fondo!","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:\/\/kinsta.com\/es\/blog\/nueva-version-php-7-3\/","og_locale":"es_ES","og_type":"article","og_title":"\u00bfQu\u00e9 Hay de Nuevo en PHP 7.3? (Ya Disponible en Kinsta)","og_description":"PHP 7.3 est\u00e1 tocando a la puerta y con la actualizaci\u00f3n vienen nuevas caracter\u00edsticas, funcionalidades y deprecaciones \u00fatiles. \u00a1Con\u00f3zcalo m\u00e1s a fondo!","og_url":"https:\/\/kinsta.com\/es\/blog\/nueva-version-php-7-3\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinsta.es\/","article_published_time":"2018-11-05T10:30:50+00:00","article_modified_time":"2025-02-25T12:24:10+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2024\/11\/ES-Homepage-featured-image.png","type":"image\/png"}],"author":"Carlo Daniele","twitter_card":"summary_large_image","twitter_description":"PHP 7.3 est\u00e1 tocando a la puerta y con la actualizaci\u00f3n vienen nuevas caracter\u00edsticas, funcionalidades y deprecaciones \u00fatiles. \u00a1Con\u00f3zcalo m\u00e1s a fondo!","twitter_image":"https:\/\/kinsta.com\/wp-content\/uploads\/2018\/08\/php-7.3.png","twitter_creator":"@carlodaniele","twitter_site":"@Kinsta_ES","twitter_misc":{"Escrito por":"Carlo Daniele","Tiempo de lectura":"19 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/es\/blog\/nueva-version-php-7-3\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/es\/blog\/nueva-version-php-7-3\/"},"author":{"name":"Carlo Daniele","@id":"https:\/\/kinsta.com\/es\/#\/schema\/person\/962dde02ea6f5df089b5d8d0853bbc63"},"headline":"\u00bfQu\u00e9 Hay de Nuevo en PHP 7.3? (Ya Disponible en Kinsta)","datePublished":"2018-11-05T10:30:50+00:00","dateModified":"2025-02-25T12:24:10+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/es\/blog\/nueva-version-php-7-3\/"},"wordCount":3867,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/es\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/es\/blog\/nueva-version-php-7-3\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2018\/11\/php-7.3.png","articleSection":["Desarrollo de WordPress"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/es\/blog\/nueva-version-php-7-3\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/es\/blog\/nueva-version-php-7-3\/","url":"https:\/\/kinsta.com\/es\/blog\/nueva-version-php-7-3\/","name":"\u00bfQu\u00e9 Hay de Nuevo en PHP 7.3? (Ya Disponible en Kinsta)","isPartOf":{"@id":"https:\/\/kinsta.com\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/es\/blog\/nueva-version-php-7-3\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/es\/blog\/nueva-version-php-7-3\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2018\/11\/php-7.3.png","datePublished":"2018-11-05T10:30:50+00:00","dateModified":"2025-02-25T12:24:10+00:00","description":"PHP 7.3 est\u00e1 tocando a la puerta y con la actualizaci\u00f3n vienen nuevas caracter\u00edsticas, funcionalidades y deprecaciones \u00fatiles. \u00a1Con\u00f3zcalo m\u00e1s a fondo!","breadcrumb":{"@id":"https:\/\/kinsta.com\/es\/blog\/nueva-version-php-7-3\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/es\/blog\/nueva-version-php-7-3\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/kinsta.com\/es\/blog\/nueva-version-php-7-3\/#primaryimage","url":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2018\/11\/php-7.3.png","contentUrl":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2018\/11\/php-7.3.png","width":1460,"height":730,"caption":"php 7.3"},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/es\/blog\/nueva-version-php-7-3\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/es\/"},{"@type":"ListItem","position":2,"name":"Actualizaciones de PHP","item":"https:\/\/kinsta.com\/es\/secciones\/actualizaciones-php\/"},{"@type":"ListItem","position":3,"name":"\u00bfQu\u00e9 Hay de Nuevo en PHP 7.3? (Ya Disponible en Kinsta)"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/es\/#website","url":"https:\/\/kinsta.com\/es\/","name":"Kinsta\u00ae","description":"Soluciones de alojamiento premium, r\u00e1pidas y seguras","publisher":{"@id":"https:\/\/kinsta.com\/es\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/es\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/es\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/kinsta.com\/es\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/es\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinsta.es\/","https:\/\/x.com\/Kinsta_ES","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/es\/#\/schema\/person\/962dde02ea6f5df089b5d8d0853bbc63","name":"Carlo Daniele","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/kinsta.com\/es\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/429e5568f88110fd9a409b84cb22197e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/429e5568f88110fd9a409b84cb22197e?s=96&d=mm&r=g","caption":"Carlo Daniele"},"description":"Carlo is a passionate lover of webdesign and front-end development. He has been playing with WordPress for more than 20 years, also in collaboration with Italian and European universities and educational institutions. He has written hundreds of articles and guides about WordPress, published both on Italian and international websites, as well as on printed magazines. You can find him on LinkedIn.","sameAs":["https:\/\/frammentidicodice.com\/","https:\/\/x.com\/carlodaniele"],"url":"https:\/\/kinsta.com\/es\/blog\/author\/carlodaniele\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/posts\/19431","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/users\/36"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/comments?post=19431"}],"version-history":[{"count":16,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/posts\/19431\/revisions"}],"predecessor-version":[{"id":62096,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/posts\/19431\/revisions\/62096"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/19431\/translations\/en"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/19431\/translations\/es"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/19431\/translations\/it"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/19431\/translations\/fr"},{"embeddable":true,"hreflang":"sv","title":"Swedish","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/19431\/translations\/se"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/19431\/translations\/pt"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/19431\/translations\/nl"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/19431\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/19431\/translations\/jp"},{"embeddable":true,"hreflang":"da","title":"Danish","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/19431\/translations\/dk"},{"href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/19431\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/media\/19433"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/media?parent=19431"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/tags?post=19431"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/topic?post=19431"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}