{"id":24571,"date":"2019-07-03T04:50:16","date_gmt":"2019-07-03T11:50:16","guid":{"rendered":"https:\/\/kinsta.com\/?p=46699"},"modified":"2025-02-26T14:10:10","modified_gmt":"2025-02-26T13:10:10","slug":"php-7-4","status":"publish","type":"post","link":"https:\/\/kinsta.com\/es\/blog\/php-7-4\/","title":{"rendered":"PHP 7.4 \u00bfQu\u00e9 Hay de Nuevo? (Funciones, Deprecaciones, Velocidad)"},"content":{"rendered":"<p>PHP 7.4, la pr\u00f3xima publicaci\u00f3n peque\u00f1a de PHP 7, ha sido publicada a partir del 28 de noviembre de 2019. As\u00ed que es momento que nos adentremos en algunas de las nuevas y emocionantes adiciones y nuevas funciones que har\u00e1n a PHP mucho m\u00e1s r\u00e1pido y confiable.<\/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.4 ya no es soportado por Kinsta. Ten en cuenta que soportamos versiones de PHP 7.4, 8.0, 8.1, 8.2, 8.3, 8.4 y 8.5.<\/p>\n<p>Incluso si PHP 7.4 incrementa de forma significativa el desempe\u00f1o y mejora la legibilidad del c\u00f3digo, <a href=\"https:\/\/kinsta.com\/es\/blog\/php-8\/\" target=\"_blank\" rel=\"noopener noreferrer\">PHP 8<\/a> ser\u00e1 el logro m\u00e1s importante para el desempe\u00f1o de PHP, ya que la propuesta para la <a href=\"https:\/\/wiki.php.net\/rfc\/jit\">inclusi\u00f3n de JIT<\/a> ya ha sido aprobada.<\/p>\n<p>De todas formas, hoy mismo veremos algunas de las funciones m\u00e1s interesantes y cambios que estamos esperando con PHP 7.4. Para que conste, estas fueron las fechas importantes para la versi\u00f3n 7.4:<\/p>\n<ul>\n<li>6 de Junio de 2019: PHP 7.4 Alpha 1<\/li>\n<li>18 de Julio de 2019: PHP 7.4 Beta 1 \u2013 Funci\u00f3n de Congelamiento<\/li>\n<li>28 de Noviembre de 2019: PHP 7.4 Lanzamiento GA<\/li>\n<\/ul>\n<p>Puede ver la lista completa de funciones y adiciones en la <a href=\"https:\/\/wiki.php.net\/rfc#php_74\">p\u00e1gina oficial de RFC.<\/a><\/p>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc>\n<h2>\u00bfQu\u00e9 Hay de Nuevo en PHP con PHP 7.4?<\/h2>\n<p>En este art\u00edculo cubriremos los cambios y funciones generales que deber\u00edan ser agregadas al idioma con el lanzamiento final de PHP 7.4:<\/p>\n<div><\/div><kinsta-auto-toc list-style=\"disc\" selector=\"h3\" count-number=\"9\" sub-toc=\"true\"><\/kinsta-auto-toc>\n<h3 id=\"array-spread-operator\">Olvida array_merge: PHP 7.4 Trae un Operador de Esparcimiento en la Expresi\u00f3n de Matriz<\/h3>\n<p>Disponible a partir de PHP 5.6, el <a href=\"https:\/\/wiki.php.net\/rfc\/argument_unpacking\">desempacado argumentado<\/a> es una sintaxis para desempacar matrices y <a href=\"https:\/\/www.php.net\/manual\/en\/class.traversable.php\">Traversables<\/a> en listas argumentales. Para desempacar una matriz o una Traversable, tiene que tener antes &#8230; (3 puntos), como se muestra en el siguiente ejemplo:<\/p>\n<pre><code class=\"language-php\">function test(...$args) { var_dump($args); }\ntest(1, 2, 3);<\/code><\/pre>\n<p>Ahora este RFC de PHP 7.4 propone extender esta funci\u00f3n a definiciones de matriz:<\/p>\n<pre><code class=\"language-php\">$arr = [...$args];<\/code><\/pre>\n<p>El primer beneficio declarado del <strong>Operador de Esparcimiento en expresi\u00f3n de matriz<\/strong> es su desempe\u00f1o. De hecho, el <a href=\"https:\/\/wiki.php.net\/rfc\/spread_operator_for_array\">doc del RFC declara<\/a>:<\/p>\n<blockquote><p>El operador de Esparcimiento deber\u00eda tener un mejor desempe\u00f1o que <code>array_merge<\/code>. Esto no s\u00f3lo porque el operador de esparcimiento es una estructura de lenguaje mientras que el <code>array_merge<\/code> es una funci\u00f3n, sino tambi\u00e9n porque la optimizaci\u00f3n de compilaci\u00f3n de tiempo puede desempe\u00f1arse para matrices constantes.<\/p><\/blockquote>\n<p>Una ventaja significativa del Operador de Esparcimiento es que este tiene soporte para cualquier objeto traversable, mientras que la funci\u00f3n <code>array_merge<\/code> s\u00f3lo tiene soporte para rel\u00e9s.<\/p>\n<p>Aqu\u00ed tenemos un ejemplo de un desempaque de argumento en la expresi\u00f3n de matriz:<\/p>\n<pre><code class=\"language-php\">$parts = ['apple', 'pear'];\n$fruits = ['banana', 'orange', ...$parts, 'watermelon'];\nvar_dump($fruits);<\/code><\/pre>\n<p>Si usted utiliza este c\u00f3digo con PHP 7.3 o anterior, PHP mostrar\u00e1 un Error de an\u00e1lisis:<\/p>\n<pre><code class=\"language-php\">Parse error: syntax error, unexpected '...' (T_ELLIPSIS), expecting ']' in \/app\/spread-operator.php on line 3<\/code><\/pre>\n<p>En lugar, PHP 7.4 mostrar\u00eda una matriz:<\/p>\n<pre><code class=\"language-php\">array(5) {\n\t[0]=&gt;\n\tstring(6) \"banana\"\n\t[1]=&gt;\n\tstring(6) \"orange\"\n\t[2]=&gt;\n\tstring(5) \"apple\"\n\t[3]=&gt;\n\tstring(4) \"pear\"\n\t[4]=&gt;\n\tstring(10) \"watermelon\"\n}<\/code><\/pre>\n<p>El RFC declara que podemos expandir la misma matriz varias veces. Adem\u00e1s de esto, podemos utilizar la sintaxis del Operador de Esparcimiento en cualquier parte en la matriz, ya que los elementos normales pueden ser agregados antes o despu\u00e9s del operador de esparcimiento. As\u00ed que el siguiente c\u00f3digo funcionar\u00eda como podr\u00edamos esperar:<\/p>\n<pre><code class=\"language-php\">$arr1 = [1, 2, 3];\n$arr2 = [4, 5, 6];\n$arr3 = [...$arr1, ...$arr2];\n$arr4 = [...$arr1, ...$arr3, 7, 8, 9];<\/code><\/pre>\n<p>Tambi\u00e9n es posible desempacar matrices regresadas por una funci\u00f3n directamente en una nueva matriz:<\/p>\n<pre><code class=\"language-php\">function buildArray(){\n\treturn ['red', 'green', 'blue'];\n}\n$arr1 = [...buildArray(), 'pink', 'violet', 'yellow'];<\/code><\/pre>\n<p>PHP 7.4 saca la siguiente matriz:<\/p>\n<pre><code class=\"language-php\">array(6) {\n\t[0]=&gt;\n\tstring(3) \"red\"\n\t[1]=&gt;\n\tstring(5) \"green\"\n\t[2]=&gt;\n\tstring(4) \"blue\"\n\t[3]=&gt;\n\tstring(4) \"pink\"\n\t[4]=&gt;\n\tstring(6) \"violet\"\n\t[5]=&gt;\n\tstring(6) \"yellow\"\n}<\/code><\/pre>\n<p>Tambi\u00e9n podemos usar el <a href=\"https:\/\/www.php.net\/manual\/en\/language.generators.syntax.php\">generador de sintaxis<\/a>:<\/p>\n<pre><code class=\"language-php\">function generator() {\n\tfor ($i = 3; $i &lt;= 5; $i++) {\n\t\tyield $i;\n\t}\n}\n$arr1 = [0, 1, 2, ...generator()];<\/code><\/pre>\n<p>Pero no tenemos permitido desempacar matrices pasadas por referencia. Considere el siguiente ejemplo:<\/p>\n<pre><code class=\"language-php\">$arr1 = ['red', 'green', 'blue'];\n$arr2 = [...&$arr1];<\/code><\/pre>\n<p>Si intent\u00e1ramos desempacar una matriz por referencia, PHP nos mostrar\u00eda el siguiente error de an\u00e1lisis:<\/p>\n<pre><code class=\"language-php\">Parse error: syntax error, unexpected '&' in \/app\/spread-operator.php on line 3<\/code><\/pre>\n<p>De cualquier forma, si los elementos de la primera matriz son almacenados por referencia, estos son almacenados por referencia en la segunda matriz tambi\u00e9n. Aqu\u00ed tenemos un ejemplo:<\/p>\n<pre><code class=\"language-php\">$arr0 = 'red';\n$arr1 = [&$arr0, 'green', 'blue'];\n$arr2 = ['white', ...$arr1, 'black'];<\/code><\/pre>\n<p>Y esto es lo que obtenemos con PHP 7.4:<\/p>\n<pre><code>array(5) {\n\t[0]=&gt;\n\tstring(5) \"white\"\n\t[1]=&gt;\n\t<strong>&string(3) \"red\"<\/strong>\n\t[2]=&gt;\n\tstring(5) \"green\"\n\t[3]=&gt;\n\tstring(4) \"blue\"\n\t[4]=&gt;\n\tstring(5) \"black\"\n}<\/code><\/pre>\n<p>La propuesta del Operador de Esparcimiento pas\u00f3 con 43 votos a 1.<\/p>\n<h3 id=\"arrow-functions\">Funci\u00f3n de Flechas 2.0 (Cierres Cortos)<\/h3>\n<p>En PHP, las <a href=\"https:\/\/www.php.net\/manual\/en\/functions.anonymous.php\">funciones an\u00f3nimas<\/a> son consideradas bastante verbosas y dif\u00edciles de implementar y mantener. <a href=\"https:\/\/wiki.php.net\/rfc\/arrow_functions_v2\">Este RFC<\/a> propone la introducci\u00f3n de sintaxis m\u00e1s cortas y claras de las <strong>funciones de flecha<\/strong> (o cierres m\u00e1s cortos), que deber\u00eda permitirnos dejar mucho m\u00e1s claro nuestro c\u00f3digo de PHP.<\/p>\n<p>Considere el siguiente ejemplo:<\/p>\n<pre><code class=\"language-php\">function cube($n){\n\treturn ($n * $n * $n);\n}\n$a = [1, 2, 3, 4, 5];\n$b = array_map('cube', $a);\nprint_r($b);<\/code><\/pre>\n<p>PHP 7.4 nos permite utilizar una sintaxis m\u00e1s concisa, y la funci\u00f3n anterior podr\u00eda ser rescrita de esta forma:<\/p>\n<pre><code class=\"language-php\">$a = [1, 2, 3, 4, 5];\n$b = array_map(fn($n) =&gt; $n * $n * $n, $a);\nprint_r($b);<\/code><\/pre>\n<p>Actualmente, las <a href=\"https:\/\/www.php.net\/manual\/en\/functions.anonymous.php\">funciones an\u00f3nimas<\/a> (cierres) pueden heredar variables definidas en el esquema padre gracias a la construcci\u00f3n de lenguaje <code>use<\/code>, como se muestra a continuaci\u00f3n:<\/p>\n<pre><code class=\"language-php\">$factor = 10;\n$calc = function($num) use($factor){\n\treturn $num * $factor;\n};<\/code><\/pre>\n<p>Pero con PHP 7.4, las variables definidas en el esquema padre son <strong>impl\u00edcitamente capturadas por valor<\/strong> (uni\u00f3n de esquema impl\u00edcito por valor). As\u00ed que podemos escribir funciones completas como se ve arriba en una sola l\u00ednea:<\/p>\n<pre><code class=\"language-php\">$factor = 10;\n$calc = fn($num) =&gt; $num * $factor;<\/code><\/pre>\n<p>La variable definida en el esquema padre puede ser usada en la funci\u00f3n de flecha exactamente como si estuvi\u00e9ramos usando <code class=\"language-php\">use($var)<\/code>, y no es posible modificar una variable a partir del esquema padre.<\/p>\n<p>La nueva sintaxis es una gran mejora al lenguaje ya que nos permite utilizar crear un c\u00f3digo m\u00e1s legible y de f\u00e1cil mantenimiento. Tambi\u00e9n podemos utilizar tipos <a href=\"https:\/\/kinsta.com\/es\/blog\/php-7-2\/\">de par\u00e1metro y de retorno<\/a>, valores base, listas de argumento de longitud variable (<a href=\"https:\/\/en.wikipedia.org\/wiki\/Variadic_function\">funciones variables<\/a>), podemos pasar y regresar por referencia, etc. Al final, los cierres cortos tambi\u00e9n pueden ser usados en m\u00e9todos de clase, y pueden darle uso a la variable <code>$this<\/code> como cualquier cierre regular.<\/p>\n<p>Reste RFC ha sido aprobado con 51 votos contra 8, as\u00ed que podemos esperar que sea parte de las adiciones a PHP 7.4.<\/p>\n<h3 id=\"nulled-coalesce-assign-operator\">Operador de Asignaci\u00f3n de Uni\u00f3n Nula<\/h3>\n<p>Junto con PHP 7, el <a href=\"https:\/\/www.php.net\/manual\/en\/migration70.new-features.php#migration70.new-features.null-coalesce-op\">operador de uni\u00f3n<\/a> (<code>??<\/code>) llega a ser bastante \u00fatil cuando necesitamos un operador ternario en conjunto con <code>isset()<\/code>. Este regresa la primera operaci\u00f3n si existe o no <code>NULL<\/code>. De otra forma, este regresa la segunda operaci\u00f3n. Aqu\u00ed tenemos un ejemplo:<\/p>\n<pre><code class=\"language-php\">$username = $_GET['user'] ?? 'nobody';<\/code><\/pre>\n<p>Lo que hace este c\u00f3digo es bastante directo. <strong>Este toma la petici\u00f3n de par\u00e1metro y establece un valor base si este no existe.<\/strong> El significado de est\u00e1 l\u00ednea es claro, \u00bfpero qu\u00e9 tal si tuvi\u00e9ramos nombres variables como en este ejemplo del RFC?<\/p>\n<pre><code class=\"language-php\">$this-&gt;request-&gt;data['comments']['user_id'] = $this-&gt;request-&gt;data['comments']['user_id'] ?? 'value';<\/code><\/pre>\n<p>A la larga, este c\u00f3digo podr\u00eda ser dif\u00edcil de mantener. As\u00ed que, con la idea de ayudar a los desarrolladores a escribir un c\u00f3digo m\u00e1s intuitivo, <a href=\"https:\/\/wiki.php.net\/rfc\/null_coalesce_equal_operator\">este RFC<\/a> propone la introducci\u00f3n de un <strong>operador de asignaci\u00f3n de uni\u00f3n nula<\/strong> (<code>??=<\/code>). As\u00ed que, en lugar de escribir el c\u00f3digo previo, podr\u00edamos escribir lo siguiente:<\/p>\n<pre><code class=\"language-php\">$this-&gt;request-&gt;data['comments']['user_id'] ??= 'value';<\/code><\/pre>\n<p>Si el valor del par\u00e1metro de la izquierda es <code>null<\/code>, entonces el valor del par\u00e1metro a mano derecha es usado.Ahora d\u00e9se cuenta que, mientras que el operador de uni\u00f3n es un operador de comparaci\u00f3n, el <code>??=<\/code> es un operador de asignaci\u00f3n.<\/p>\n<p>Esta propuesta ha sido aprobada por 37 votos contra 4.<\/p>\n<h3 id=\"typed-properties\">Propiedades Tipeadas 2.0<\/h3>\n<p>Las declaraciones de tipo argumento, o tipos de indicios, permite especificar el tipo de variable que se espera que pase a una funci\u00f3n o a un m\u00e9todo de clase. Los tipos de indicios son una funci\u00f3n disponible a partir de PHP 5, y desde <a href=\"https:\/\/kinsta.com\/es\/blog\/php-7-2\/\">PHP 7.2<\/a> podemos usarlas con el tipo de dato <code>object<\/code>. Ahora PHP 7.4 trae este indicio de tipo un paso m\u00e1s adelante al agregar soporte para <a href=\"https:\/\/wiki.php.net\/rfc\/typed_properties_v2\">declaraciones de tipo de propiedad de primera clase<\/a>. Aqu\u00ed tenemos un ejemplo b\u00e1sico:<\/p>\n<pre><code class=\"language-php\">class User {\n\tpublic int $id;\n\tpublic string $name;\n}<\/code><\/pre>\n<p>Todos los tipos son soportados, con excepci\u00f3n de <code>void<\/code> y <code>callable<\/code>:<\/p>\n<pre><code class=\"language-php\">public int $scalarType;\nprotected ClassName $classType;\nprivate ?ClassName $nullableClassType;<\/code><\/pre>\n<p>Este RFC explica la raz\u00f3n por la cual <code>void<\/code> y <code>callable<\/code> no son soportados:<\/p>\n<blockquote><p>El tipo void no est\u00e1 soportado, porque no es \u00fatil y tiene muchas sem\u00e1nticas que no son claras.<\/p><\/blockquote>\n<blockquote><p>El tipo callable no est\u00e1 soportado, porque su comportamiento es dependiente al contexto.<\/p><\/blockquote>\n<p>As\u00ed que podemos utilizar de forma segura <code>bool<\/code>,\u00a0<code>int<\/code>,\u00a0<code>float<\/code>,\u00a0<code>string<\/code>,\u00a0<code>array<\/code>,\u00a0<code>object<\/code>,\u00a0<code>iterable<\/code>,\u00a0<code>self<\/code>,\u00a0<code>parent<\/code>, cualquier clase o nombre de interfaz, y <a href=\"https:\/\/php.net\/manual\/en\/migration71.new-features.php\">tipos<\/a> <a href=\"https:\/\/kinsta.com\/blog\/php-7-1-0\/#nullable-types\">nulos<\/a> (<code>?type<\/code>)<\/p>\n<p>Los tipos pueden ser usados en propiedades est\u00e1ticas:<\/p>\n<pre><code class=\"language-php\">public static iterable $staticProp;<\/code><\/pre>\n<p>Tambi\u00e9n son permitidas con la notaci\u00f3n <code>var<\/code>:<\/p>\n<pre><code class=\"language-php\">var bool $flag;<\/code><\/pre>\n<p>Es posible establecer valor de propiedad bases, que por supuesto, deben ser iguales al tipo de propiedad declarada, pero s\u00f3lo las propiedades anuladas pueden tener un valor <code>null<\/code> base:<\/p>\n<pre><code class=\"language-php\">public string $str = \"foo\";\npublic ?string $nullableStr = null;<\/code><\/pre>\n<p>El mismo tipo aplica a todas las propiedades en una sola declaraci\u00f3n:<\/p>\n<pre><code class=\"language-php\">public float $x, $y;<\/code><\/pre>\n<p>\u00bfQu\u00e9 pasa si cometemos un error en el tipo de propiedad? Considere el siguiente c\u00f3digo:<\/p>\n<pre><code class=\"language-php\">class User {\n\tpublic int $id;\n\tpublic string $name;\n}\n\n$user = new User;\n$user-&gt;id = 10;\n$user-&gt;name = [];<\/code><\/pre>\n<p>En el c\u00f3digo anterior, hemos declarado un tipo de propiedad de string, pero establecimos una matriz como el valor de propiedad. En dicho escenario, obtenemos el siguiente error Fatal:<\/p>\n<pre><code class=\"language-php\">Fatal error: Uncaught TypeError: Typed property User::$name must be string, array used in \/app\/types.php:9<\/code><\/pre>\n<p>Este RFC ha sido aprobado con 70 votos contra 1.<br \/>\n<span data-sheets-value=\"{\"1\":2,\"2\":\"[inarticle-cta]\"}\" data-sheets-userformat=\"{\"2\":6659,\"3\":{\"1\":0},\"4\":{\"1\":2,\"2\":16777215},\"12\":0,\"14\":{\"1\":2,\"2\":0},\"15\":\"Roboto, RobotoDraft, Helvetica, Arial, sans-serif\"}\"><\/span><\/p>\n<p>\u00a0<\/p>\n<h3 id=\"weakreferences\">Referencias D\u00e9biles (Weak References)<\/h3>\n<p>Con <a href=\"https:\/\/wiki.php.net\/rfc\/weakrefs\">este RFC<\/a>, PHP 7.4 introduce la clase <a href=\"https:\/\/www.php.net\/manual\/en\/class.weakreference.php\">WeakReference<\/a>, el cual le permite a los programadores retener una referencia a un objeto que no prevenga que el objeto mismo sea destruido.<\/p>\n<p>Actualmente PHP tiene soporte para Weak References al usar una extensi\u00f3n como pecl-weakref. De todas formas, la nueva API es diferente a la clase <code>WeakRef<\/code> documentada.<\/p>\n<p>Aqu\u00ed <a href=\"https:\/\/www.slideshare.net\/nikita_ppv\/typed-properties-and-more-whats-coming-in-php-74\">tenemos un ejemplo del autor<\/a> de esta propuesta, Nikita Popov:<\/p>\n<pre><code class=\"language-php\">$object = new stdClass;\n$weakRef = WeakReference::create($object);\n\nvar_dump($weakRef-&gt;get());\nunset($object);\nvar_dump($weakRef-&gt;get());<\/code><\/pre>\n<p>El primer\u00a0<code>var_dump<\/code>\u00a0imprime\u00a0<code class=\"language-php\">object(stdClass)#1 (0) {}<\/code>, mientras que el segundo<code>var_dump<\/code>\u00a0imprime\u00a0<code>NULL<\/code>, mientras el objeto referido ha sido destruido.<\/p>\n<blockquote class=\"twitter-tweet\" data-width=\"500\" data-dnt=\"true\">\n<p lang=\"en\" dir=\"ltr\">Slides for my PHP 7.4 talk at <a href=\"https:\/\/twitter.com\/hashtag\/PHPRussia2019?src=hash&amp;ref_src=twsrc%5Etfw\">#PHPRussia2019<\/a>. Was a great conference!<a href=\"https:\/\/t.co\/zLr9Bj2aKl\">https:\/\/t.co\/zLr9Bj2aKl<\/a><\/p>\n<p>&mdash; Nikita Popov (@nikita_ppv) <a href=\"https:\/\/twitter.com\/nikita_ppv\/status\/1130188147940352000?ref_src=twsrc%5Etfw\">May 19, 2019<\/a><\/p><\/blockquote>\n<p><script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><\/p>\n<p>Este RFC pas\u00f3 con 28 votos contra 5.<\/p>\n<h3 id=\"covariant-return-types-contravariant-parameters\">Tipos de Retorno de Variaci\u00f3n y Par\u00e1metro de Contra Variante<\/h3>\n<p>La <a href=\"https:\/\/en.wikipedia.org\/wiki\/Covariance_and_contravariance_(computer_science)\">varianza<\/a> es la propiedad de jerarqu\u00edas de clase describiendo como los tipos de un constructor de tipo afectan los <a href=\"https:\/\/en.wikipedia.org\/wiki\/Subtyping\">subtipos<\/a>. En general, un constructor de tipo puede ser:<\/p>\n<ul>\n<li><strong>Invariante<\/strong>: si el tipo del s\u00faper tipo limita al tipo del subtipo.<\/li>\n<li><strong>Covariante<\/strong>: si el orden de los tipos es preservado (tipos son ordenados del m\u00e1s espec\u00edfico al m\u00e1s gen\u00e9rico).<\/li>\n<li><strong>Contravariante<\/strong>: si este revierte el orden (los tipos son ordenados del m\u00e1s gen\u00e9rico al m\u00e1s espec\u00edfico).<\/li>\n<\/ul>\n<p>Actualmente, PHP tiene par\u00e1metros principalmente invariados y tipos de retorno, con algunas excepciones. Este RFC propone permitir covarianza y contravarianza en los tipos de par\u00e1metros y tipos de retorno, tambi\u00e9n proveyendo varios ejemplos del c\u00f3digo.<\/p>\n<p>Aqu\u00ed tenemos un <strong>tipo de retorno covariante<\/strong>:<\/p>\n<pre><code class=\"language-php\">interface Factory {\n\tfunction make(): object;\n}\n\nclass UserFactory implements Factory {\n\tfunction make(): User;\n}<\/code><\/pre>\n<p>Y aqu\u00ed tenemos un ejemplo <strong>del tipo de par\u00e1metro contracovariante:<\/strong><\/p>\n<pre><code class=\"language-php\">interface Concatable {\n\tfunction concat(Iterator $input); \n}\n \nclass Collection implements Concatable {\n\t\/\/ accepts all iterables, not just Iterator\n\tfunction concat(iterable $input) {\/* . . . *\/}\n}<\/code><\/pre>\n<p>Vea el <a href=\"https:\/\/wiki.php.net\/rfc\/covariant-returns-and-contravariant-parameters\">RFC<\/a> para tener una idea m\u00e1s detallada de la covarianza y contravarianza en PHP 7.4.<\/p>\n<p>Este RFC pas\u00f3 con 39 votos contra 1.<\/p>\n<h3 id=\"preloading\">Precarga<\/h3>\n<p><a href=\"https:\/\/wiki.php.net\/rfc\/preload\">Esta propuesta<\/a> de Dmitry Stogov es una de nuestras favoritas porque esta deber\u00eda traer una mejora importante en el desempe\u00f1o. La <strong>Precarga<\/strong> es el proceso de cargar bibliotecas y frameworks en el <a href=\"https:\/\/www.php.net\/manual\/en\/book.opcache.php\">OPCache<\/a> en la inicializaci\u00f3n del m\u00f3dulo (lea m\u00e1s sobre el <a href=\"http:\/\/www.phpinternalsbook.com\/php7\/extensions_design\/php_lifecycle.html\">ciclo de vida de PHP<\/a>).<\/p>\n<figure style=\"width: 335px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2019\/05\/ciclo-vida-php.png\" alt=\"Ciclo de vida de PHP\" width=\"335\" height=\"323\"><figcaption class=\"wp-caption-text\">Ciclo de vida de PHP (fuente de la imagen: <a href=\"https:\/\/phpinternals.net\/categories\/extensions\">PHP Internals<\/a>)<\/figcaption><\/figure>\n<p>As\u00ed es como funciona la precarga seg\u00fan Dmitry:<\/p>\n<blockquote><p>En el inicio del servidor \u2013 antes de que empiece a funcionar el c\u00f3digo de cualquier aplicaci\u00f3n \u2013 podemos cargar un cierto conjunto de archivos PHP en la memoria \u2013 y lograr que sus contenidos est\u00e9n \u201cpermanentemente disponibles\u201d a todas las peticiones subsecuentes que ser\u00e1n servidas por el servidor. Todas las funciones y clases definidas en estos archivos estar\u00e1n disponibles a peticiones fuera de la caja, exactamente como entidades internas.<\/p><\/blockquote>\n<p>Estos archivos son cargados en el inicio del servidor, son ejecutados antes de cualquier aplicaci\u00f3n y se mantienen disponibles para cualquier petici\u00f3n futura. Esto es fant\u00e1stico en t\u00e9rminos de desempe\u00f1o.<\/p>\n<p>La precarga es controlada por una directiva <code>php.ini<\/code> espec\u00edfica: <code>opcache.preload<\/code>.<\/p>\n<p>Esta directiva espec\u00edfica a que un script de PHP sea compilado y ejecutado durante el inicio del servidor. Este archivo puede ser usado para precargar archivos adicionales, sea incluy\u00e9ndolos o a trav\u00e9s de la funci\u00f3n <code>opcache_compile_file()<\/code>(lea m\u00e1s sobre la <a href=\"https:\/\/www.php.net\/manual\/en\/function.opcache-compile-file.php\">documentaci\u00f3n de PHP<\/a>).<\/p>\n<p>Pero aqu\u00ed tenemos un aspecto negativo. De hecho, el RFC declara de forma explicita:<\/p>\n<blockquote><p>Los archivos precargados permanecen en el cach\u00e9 de la memoria opcache para siempre. La modificaci\u00f3n de sus archivos fuentes correspondientes no tendr\u00e1n efecto alguno sin que se reinicie de nuevo el servidor.<\/p><\/blockquote>\n<p>Sin embargo, todas las funciones definidas en los archivos precargados ser\u00e1n permanentemente cargadas en la funci\u00f3n PHP y tablas de clase, y permanecer\u00e1n disponibles para cada petici\u00f3n futura. Esto llevar\u00e1 a una mejora en el desempe\u00f1o, incluso si estas mejoras podr\u00edan ser considerablemente variables.<\/p>\n<p>Puede leer m\u00e1s sobre las limitaciones y expectativas de la precarga en la<a href=\"https:\/\/wiki.php.net\/rfc\/preload\"> p\u00e1gina oficial de la Precarga del RFC.<\/a><\/p>\n<h3 id=\"serialization\">Nuevos Mecanismos en Serie Personalizada de Objetos<\/h3>\n<p>Esta es <a href=\"https:\/\/nikic.github.io\/aboutMe.html\">otra propuesta<\/a> de Nikita Popov, aprobada por una gran mayor\u00eda de votos.<\/p>\n<p>Actualmente, tenemos dos mecanismos diferentes para la serie personalizada de objetos en PHP:<\/p>\n<ul>\n<li>Los m\u00e9todos m\u00e1gicos de<code> __sleep()<\/code>y <code>__wakeup()<\/code>.<\/li>\n<li>La interfaz <code>Serializable<\/code><\/li>\n<\/ul>\n<p>De acuerdo a Nikita, estas dos opciones tienen problemas que llevan a un c\u00f3digo complejo y nada confiable. Uno puede adentrarse m\u00e1s a este tema en el <a href=\"https:\/\/wiki.php.net\/rfc\/custom_object_serialization\">RFC<\/a>. Aqu\u00ed s\u00f3lo he mencionado que el nuevo mecanismo de serie deber\u00eda prevenir estos problemas al proveer dos nuevos m\u00e9todos m\u00e1gicos, <code>__serialize()<\/code> y <code>__unserialize()<\/code>, que combinan estos dos mecanismos existentes.<\/p>\n<p>Esta propuesta pas\u00f3 con 20 votos contra 7.<\/p>\n<h3 id=\"deprecations\">Depreciaciones<\/h3>\n<p>Las siguientes funciones\/funcionalidades ser\u00e1n depreciadas con PHP 7.4. para ver una lista m\u00e1s comprensiva de las depreciaciones. Lea las Notas de <a href=\"https:\/\/github.com\/php\/php-src\/blob\/PHP-7.4\/UPGRADING\">Actualizaci\u00f3n de PHP 7.4.<\/a><\/p>\n<h4>Cambie el Precedente del Operador de Concatenaci\u00f3n<\/h4>\n<p>Actualmente, en PHP los operadores aritm\u00e9ticos \u201c+\u201d y \u201c-\u201c, y el operador de string \u201c.\u201d son puestos como asociativos y tienen el mismo precedente (lea m\u00e1s sobre el <a href=\"https:\/\/www.php.net\/manual\/en\/language.operators.precedence.php\">Precedente del Operador<\/a>).<\/p>\n<p>Como ejemplo, considere la siguiente l\u00ednea:<\/p>\n<pre><code class=\"language-php\">echo \"sum: \" . $a + $b;<\/code><\/pre>\n<p>En PHP 7.3, este c\u00f3digo produce la siguiente advertencia:<\/p>\n<pre><code class=\"language-php\">Warning: A non-numeric value encountered in \/app\/types.php on line 4<\/code><\/pre>\n<p>Esto es por que la concatenaci\u00f3n es valorada de izquierda a derecha. Es lo mismo que escribir el siguiente c\u00f3digo:<\/p>\n<pre><code class=\"language-php\">echo (\"sum: \" . $a) + $b;<\/code><\/pre>\n<p><a href=\"https:\/\/wiki.php.net\/rfc\/concatenation_precedence\">Este RFC<\/a> propone cambiar el precedente de los operadores, dando al \u201c.\u201d un precedente menor que a los operadores \u201c+\u201d y \u201c-\u201c, as\u00ed que las adiciones y sustracciones podr\u00edan siempre desempe\u00f1arse antes de la concatenaci\u00f3n de string. Esta l\u00ednea de c\u00f3digo deber\u00eda ser equivalente a lo siguiente:<\/p>\n<pre><code class=\"language-php\">echo \"sum: \" . ($a + $b);<\/code><\/pre>\n<p>Esta es una propuesta de dos pasos:<\/p>\n<ul>\n<li>Empezando desde la versi\u00f3n 7.4, PHP deber\u00eda emitir un aviso de depreciaci\u00f3n cuando se encuentre una expresi\u00f3n sin par\u00e9ntesis con un \u201c+\u201d , \u201c-\u201c y \u201c.\u201d.<\/li>\n<li>El cambio real del precedente de estos operadores deber\u00eda ser agregado con <a href=\"https:\/\/kinsta.com\/es\/blog\/php-8\/\" target=\"_blank\" rel=\"noopener noreferrer\">PHP 8<\/a>.<\/li>\n<\/ul>\n<p>Ambas propuestas han sido aprobadas con una gran mayor\u00eda de votos.<\/p>\n<h4>Operador ternario de depreciaci\u00f3n asociativa a la izquierda<\/h4>\n<p>En PHP el operador ternario, a diferencia de muchos otros lenguajes, es asociativo a la izquierda. De acuerdo a Nikita Popof, esto puede ser confuso para los programadores que cambien a distintos lenguajes.<\/p>\n<p>Actualmente, en PHP el siguiente c\u00f3digo es correcto:<\/p>\n<pre><code class=\"language-php\">$b = $a == 1 ? 'one' : $a == 2 ? 'two' : $a == 3 ? 'three' : 'other';<\/code><\/pre>\n<p>Este es interpretado como:<\/p>\n<pre><code class=\"language-php\">$b = (($a == 1 ? 'one' : $a == 2) ? 'two' : $a == 3) ? 'three' : 'other';<\/code><\/pre>\n<p>Y esto podr\u00eda llevar a muchos errores porque podr\u00edan no ser lo que originalmente intent\u00e1bamos. As\u00ed que este RFC propone depreciar y eliminar el uso de la asociaci\u00f3n a la izquierda para operadores ternarios y forzar a los desarrolladores a usar par\u00e9ntesis.<\/p>\n<p>Esta es otra propuesta de dos pasos:<\/p>\n<ul>\n<li>Empezando desde PHP 7.4, los ternarios alojados son uso explicito de par\u00e9ntesis mostrar\u00e1n una advertencia de depreciaci\u00f3n.<\/li>\n<li>Empezando desde <a href=\"https:\/\/kinsta.com\/es\/blog\/php-8\/\" target=\"_blank\" rel=\"noopener noreferrer\">PHP 8.0<\/a>, habr\u00e1 una compilaci\u00f3n de errores de tiempo de uso.<\/li>\n<\/ul>\n<p>Esta propuesta ha sido aprobada con 35 votos contra 10.<\/p>\n<h2 id=\"what-does-php-73-mean-for-wordpress-users\">\u00bfQu\u00e9 Significa PHP 7.4 para los Usuarios de WordPress?<\/h2>\n<div class=\"phenom-desc\">\n<div class=\"comment-container\">\n<div class=\"action-comment markeddown js-comment\" dir=\"auto\">\n<div class=\"current-comment js-friendly-links js-open-card\">\n<p>PHP es el lenguaje de programaci\u00f3n del servidor m\u00e1s utilizado en la web. <a href=\"https:\/\/w3techs.com\/technologies\/details\/pl-php\/all\/all\">Seg\u00fan W3Techs<\/a>, a partir del 2 de diciembre de 2019, el uso de PHP es utilizado por el 78,9% de todos los sitios web cuyo lenguaje de programaci\u00f3n del servidor se pudo detectar.<\/p>\n<div><\/div><kinsta-auto-toc list-style=\"disc\" selector=\"h3\" count-number=\"5\" sub-toc=\"true\"><\/kinsta-auto-toc>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<figure id=\"attachment_63301\" aria-describedby=\"caption-attachment-63301\" style=\"width: 1376px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-63301 size-full\" src=\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2019\/06\/php-versiones-1.png\" alt=\"Uso de PHP (Diciembre 2019)\" width=\"1376\" height=\"654\"><figcaption id=\"caption-attachment-63301\" class=\"wp-caption-text\">Uso de PHP (Diciembre 2019)<\/figcaption><\/figure>\n<p>Desafortunadamente,<a href=\"https:\/\/w3techs.com\/technologies\/details\/pl-php\/5\/all\"> PHP 5 sigue siendo usado por un 44.0% de todos los sitios<\/a> que utilizan un lenguaje de servidor que conozcamos. Si usted agrega <a href=\"https:\/\/w3techs.com\/technologies\/details\/pl-php\/7\/all\">el n\u00famero de usuarios que siguen usando PHP 7.0 y 7.1<\/a>, al parecer la gran mayor\u00eda de los sitios siguen utilizando versiones de PHP que ya no son soportadas.<\/p>\n<figure id=\"attachment_63275\" aria-describedby=\"caption-attachment-63275\" style=\"width: 1726px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-63275 size-full\" src=\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2018\/06\/versiones-php-soportadas-para-wordpress-1-1.png\" alt=\"Versiones PHP soportadas para WordPress\" width=\"1726\" height=\"332\"><figcaption id=\"caption-attachment-63275\" class=\"wp-caption-text\">Versiones soportadas de PHP (fuente de la imagen: <a href=\"https:\/\/www.php.net\/supported-versions.php\">Supported Versions<\/a>)<\/figcaption><\/figure>\n<p>De acuerdo a la p\u00e1gina oficial de <a href=\"https:\/\/wordpress.org\/about\/stats\/\">datos de WordPress<\/a>, desde el momento en que se escribi\u00f3 este art\u00edculo, un sorprendente 64% de los sitios de WordPress est\u00e1n utilizando versiones ya no soportadas de PHP. Tan s\u00f3lo un 13% est\u00e1n utilizando <a href=\"https:\/\/kinsta.com\/es\/changelog\/php-7-3\/\">PHP 7.3<\/a>. Y la \u00faltima versi\u00f3n, PHP 7.4, ni siquiera aparece todav\u00eda.\u00a0Puede ver que la gran mayor\u00eda de los usuarios, aproximadamente un 23%, siguen utilizando PHP 5.6.<\/p>\n<figure id=\"attachment_63288\" aria-describedby=\"caption-attachment-63288\" style=\"width: 1390px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-63288 size-full\" src=\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2017\/03\/wordpress-estadisticas-version-php-3.png\" alt=\"WordPress Estad\u00edsticas de la versi\u00f3n PHP\" width=\"1390\" height=\"1156\"><figcaption id=\"caption-attachment-63288\" class=\"wp-caption-text\">WordPress Estad\u00edsticas de la versi\u00f3n PHP<\/figcaption><\/figure>\n<p>Le recomendamos ampliamente preguntar a su host por <a href=\"https:\/\/kinsta.com\/es\/blog\/versiones-de-php\/\">una versi\u00f3n con soporte de PHP<\/a>, de preferencia siguiendo los <a href=\"https:\/\/wordpress.org\/about\/requirements\/\">requisitos oficiales de WordPress<\/a>. Desde el momento que se escribi\u00f3 este art\u00edculo, Mayo 2019, WordPress requiere:<\/p>\n<ul>\n<li>Versi\u00f3n 7.3 de PHP o mayor.<\/li>\n<li>Versi\u00f3n 5.6 de MySQL o mayor O versi\u00f3n 10.1 o mayor de <a href=\"https:\/\/kinsta.com\/es\/blog\/mariadb-vs-mysql\/\">MariaDB<\/a>.<\/li>\n<li>Soporte a HTTPS<\/li>\n<\/ul>\n<h3 id=\"php-7-performance\">Desempe\u00f1o de PHP 7<\/h3>\n<p>Los n\u00fameros anteriores son realmente tristes, desde el punto de vista de desempe\u00f1o, ya que PHP 7 es much\u00edsimo m\u00e1s r\u00e1pido. Aqu\u00ed tenemos algunos datos:<\/p>\n<ul>\n<li>Los <a href=\"http:\/\/talks.php.net\/fluent15#\/wpbench\">benchmarks<\/a> oficiales de PHP muestran que PHP 7 le permite al sistema ejecutar el doble de peticiones por segundo a diferencia de PHP 5.6, que tienen casi la mitad de latencia.<\/li>\n<li>Christian Vigh tambi\u00e9n public\u00f3 una <a href=\"https:\/\/www.phpclasses.org\/blog\/post\/493-php-performance-evolution.html\">comparaci\u00f3n de desempe\u00f1o de PHP<\/a> en la cual descubri\u00f3 que PHP 5.2 era un 400% m\u00e1s lento que PHP 7.<\/li>\n<li>Andrei Avram vio tiempos de ejecuci\u00f3n m\u00e1s r\u00e1pidos y <a href=\"https:\/\/blog.andreiavram.ro\/updates-php-performance-increase\/\">menos uso de memoria en PHP 7.4<\/a> en comparaci\u00f3n con PHP 7.3.<\/li>\n<li>Phoronix llev\u00f3 a cabo unas <a href=\"https:\/\/phoronix.com\/scan.php?page=news_item&#038;px=PHP-7.4-Early-Benchmarks\">pruebas de benchmark con el Alfa de PHP 7.4<\/a> y vio una peque\u00f1a mejora en la velocidad que en PHP 7.3.<\/li>\n<\/ul>\n<blockquote class=\"twitter-tweet\" data-width=\"500\" data-dnt=\"true\">\n<p lang=\"en\" dir=\"ltr\">Upgraded my <a href=\"https:\/\/twitter.com\/kinsta?ref_src=twsrc%5Etfw\">@kinsta<\/a> site to PHP 7.4 and it is like 10x faster. Woot!<\/p>\n<p>&mdash; Ronald Huereca (@RonaldHuereca) <a href=\"https:\/\/twitter.com\/RonaldHuereca\/status\/1201513866313777158?ref_src=twsrc%5Etfw\">December 2, 2019<\/a><\/p><\/blockquote>\n<p><script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><\/p>\n<p>Hicimos nuestros propios <a href=\"https:\/\/kinsta.com\/es\/blog\/puntos-de-referencia-php\/\">benchmarks con PHP 7.3<\/a>. Y vimos que WordPress 5.0 en PHP 7.3 pod\u00eda ejecutar casi el triple de transacciones (peticiones) por segundo en comparaci\u00f3n a PHP 5.6. <strong>\u00a1Sacaremos benchmarks de PHP 7.4 muy pronto!<\/strong><\/p>\n<figure style=\"width: 940px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2018\/12\/wordpress-benchmarks-php-5-0.png\" alt=\"WordPress benchmarks de PHP 5.0\" width=\"940\" height=\"788\"><figcaption class=\"wp-caption-text\">WordPress benchmarks de PHP 5.0<\/figcaption><\/figure>\n<ul>\n<li>WordPress 5.0 benchmark de PHP 5.6: 91.64 peticiones\/segundo<\/li>\n<li>WordPress 5.0 benchmark de PHP 7.0: 206.71 peticiones\/segundo<\/li>\n<li>WordPress 5.0 benchmark de PHP 7.1: 210.98 peticiones\/segundo<\/li>\n<li>WordPress 5.0 benchmark de PHP 7.2: 229.18 peticiones\/segundo<\/li>\n<li>WordPress 5.0<strong> benchmark de PHP 7.3: 253.20 peticiones\/segundo\ud83c\udfc6<\/strong><\/li>\n<\/ul>\n<p>Muchos tardan en actualizarlo simplemente por todo el tiempo que requiere hacer pruebas con todos sus plugins y temas, para asegurar que funcionen de forma apropiada. Pero en muchas ocasiones, simplemente es porque a\u00fan no lo han hecho.<\/p>\n<h3 id=\"checking-your-php-version\">Revisando Su Versi\u00f3n de PHP<\/h3>\n<p>\u00bfNo est\u00e1 seguro de que versi\u00f3n de PHP est\u00e1 usando? Una de las formas m\u00e1s sencillas para revisar es usar una herramienta como <a href=\"https:\/\/kinsta.com\/es\/blog\/prueba-de-velocidad-pingdom\/\">Pingdom<\/a> o Google Chrome Devtools. El primer encabezado de petici\u00f3n HTTP t\u00edpicamente mostrar\u00e1 su versi\u00f3n.<\/p>\n<figure style=\"width: 1542px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2019\/06\/cheque-version-php-pingdom.png\" alt=\"Cheque la versi\u00f3n PHP en Pingdom\" width=\"1542\" height=\"864\"><figcaption class=\"wp-caption-text\">Cheque la versi\u00f3n PHP en Pingdom<\/figcaption><\/figure>\n<p>Esto depende de que el host no modifique el valor de encabezado <code>X-Powered-By<\/code>. Sin embargo, muchos lo hacen por razones de seguridad (incluyendo a Kinsta). Si es as\u00ed, usted podr\u00eda no ver su versi\u00f3n de PHP, en ese caso, si est\u00e1 utilizando <a href=\"https:\/\/kinsta.com\/es\/blog\/wordpress-5-2\/\">WordPress 5.2<\/a> o en adelante, hay una nueva herramienta de estado del sitio. Vaya a \u201cherramientas\u201d -&gt; \u201cSite Health\u201d -&gt; \u201cInfo\u201d y bajo la secci\u00f3n de \u201cServidor\u201d usted encontrar\u00e1 la versi\u00f3n de PHP del servidor.<\/p>\n<figure style=\"width: 1954px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2019\/06\/revise-version-php-herramiente-revision-estado.png\" alt=\"Revise la versi\u00f3n de PHP con la herramienta de Revisi\u00f3n de Estado de Salud de WordPress\" width=\"1954\" height=\"720\"><figcaption class=\"wp-caption-text\">Revise la versi\u00f3n de PHP con la herramienta de Revisi\u00f3n de Estado de Salud de WordPress<\/figcaption><\/figure>\n<p>O tambi\u00e9n podr\u00eda instalar un plugin gratuito como <a href=\"https:\/\/wordpress.org\/plugins\/version-info\/\">Version Info<\/a> que le mostrar\u00e1 la informaci\u00f3n b\u00e1sica del servidor en el pie de p\u00e1gina de su dashboard de administrador de WordPress. Otras formas de ver su versi\u00f3n de PHP incluyen el subir un archivo a <a href=\"https:\/\/kinsta.com\/es\/blog\/versiones-de-php\/\">trav\u00e9s de FTP<\/a>, o simplemente ponerse en contacto con su host y preguntarle.<\/p>\n<h3 id=\"updating-to-php-74\">Actualizando a PHP 7.4<\/h3>\n<p>La versi\u00f3n final de PHP 7.4 a\u00fan no ha salido.\u00a0Sin embargo, <strong>puede empezar a probar la versi\u00f3n beta (PHP 7.4-RC4) en Kinsta ahora mismo<\/strong>. Alternativamente, usted podr\u00eda <a href=\"https:\/\/kinsta.com\/es\/blog\/instalar-wordpress-localmente\/\">probar su sitio de WordPress localmente<\/a> o chequear sus suscripciones en un entorno como <a href=\"https:\/\/docs.docker.com\/get-started\/\">Docker<\/a>, el cual le permite probar distintas versiones de PHP desde una l\u00ednea de comando.<\/p>\n<p>La manera m\u00e1s f\u00e1cil de empezar a probar es <a href=\"https:\/\/kinsta.com\/es\/docs\/alojamiento-wordpress\/entorno-staging\/\">crear un entorno de prueba<\/a>, ya que se parecer\u00e1 mucho a su sitio de producci\u00f3n en vivo. En el panel de control de MyKinsta, haga clic en su sitio y cambie a un entorno de prueba.<\/p>\n<figure id=\"attachment_48168\" aria-describedby=\"caption-attachment-48168\" style=\"width: 2210px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2019\/07\/mykinsta-staging-environment.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-48168 size-full\" src=\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2019\/07\/mykinsta-staging-environment.png\" alt=\"Crear un entorno de prueba de WordPress\" width=\"2210\" height=\"886\" srcset=\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2019\/07\/mykinsta-staging-environment.png 2210w, https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2019\/07\/mykinsta-staging-environment-300x120.png 300w, https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2019\/07\/mykinsta-staging-environment-1024x411.png 1024w, https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2019\/07\/mykinsta-staging-environment-768x308.png 768w, https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2019\/07\/mykinsta-staging-environment-1536x616.png 1536w, https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2019\/07\/mykinsta-staging-environment-2048x821.png 2048w\" sizes=\"auto, (max-width: 2210px) 100vw, 2210px\" \/><\/a><figcaption id=\"caption-attachment-48168\" class=\"wp-caption-text\">Crear un entorno de prueba de WordPress<\/figcaption><\/figure>\n<p>Luego, en el men\u00fa \u00abHerramientas\u00bb, cambie su motor PHP a PHP 7.4 (Beta). A continuaci\u00f3n, puede empezar a realizar pruebas para garantizar la compatibilidad de su c\u00f3digo, plugins de terceros y temas.<\/p>\n<p>Al igual que las versiones anteriores de PHP, nuestra <a href=\"https:\/\/kinsta.com\/es\/changelog\/optimizaciones-automaticas-de-bases-de-datos-mysql-auto-recuperacion-php-firewall-gcp\/#selfhealing-php\">funci\u00f3n de autocuraci\u00f3n de PHP<\/a> es totalmente compatible con PHP 7.4. Si PHP se cae por cualquier raz\u00f3n, lo reiniciaremos autom\u00e1ticamente. Si el reinicio no arregla el problema, nuestro sistema de monitoreo alertar\u00e1 a nuestro <a href=\"https:\/\/kinsta.com\/es\/blog\/sysadmin\/\">equipo de administradores de sistemas<\/a> para que investiguen la causa del problema.<\/p>\n<aside role=\"note\" class=\"wp-block-kinsta-notice is-style-important\">\n            <h3>Important<\/h3>\n        <p>Aunque se trata de una versi\u00f3n estable, recomendamos <strong>encarecidamente a todo el mundo que pruebe PHP 7.4<\/strong> antes de utilizarlo en su sitio en directo.<\/p>\n<\/aside>\n\n<figure id=\"attachment_48089\" aria-describedby=\"caption-attachment-48089\" style=\"width: 2542px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2019\/12\/mykinsta-switch-php.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-48089 size-full\" src=\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2019\/12\/mykinsta-switch-php.png\" alt=\"Cambiar a PHP 7.4\" width=\"2542\" height=\"1442\" srcset=\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2019\/12\/mykinsta-switch-php.png 2542w, https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2019\/12\/mykinsta-switch-php-300x170.png 300w, https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2019\/12\/mykinsta-switch-php-1024x581.png 1024w, https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2019\/12\/mykinsta-switch-php-768x436.png 768w, https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2019\/12\/mykinsta-switch-php-1536x871.png 1536w, https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2019\/12\/mykinsta-switch-php-2048x1162.png 2048w\" sizes=\"auto, (max-width: 2542px) 100vw, 2542px\" \/><\/a><figcaption id=\"caption-attachment-48089\" class=\"wp-caption-text\">Cambiar a PHP 7.4<\/figcaption><\/figure>\n<p>Vea los detalles sobre el <a href=\"https:\/\/kinsta.com\/es\/changelog\/php-7-4\/\">lanzamiento de PHP 7.4 en Kinsta<\/a>.<\/p>\n<h3>Instalando y Usando PHP 7.4 en Docker<\/h3>\n<div class=\"phenom-desc\">\n<div class=\"comment-container\">\n<div class=\"action-comment markeddown js-comment\" dir=\"auto\">\n<div class=\"current-comment js-friendly-links js-open-card\">\n<p>\u00bfQuiere probar en Docker? Afortunadamente, usted no necesita compilar y configurar PHP 7.4 manualmente. Si ya tiene Docker instalado en su sistema, usted s\u00f3lo necesita instalar el <a href=\"https:\/\/github.com\/devilbox\/docker-php-fpm-7.4\">PHP-FPM 7.4 Docker Image<\/a> no oficial y hacer sus pruebas desde la l\u00ednea de comando en tan s\u00f3lo unos segundos.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"phenom-reactions\">\n<div class=\"js-reaction-piles reaction-piles-container last\">\n<div class=\"reaction-piles reaction-piles-empty\"><\/div>\n<\/div>\n<\/div>\n<figure style=\"width: 570px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2019\/05\/instalando-nginx-docker-image.png\" alt=\"Instalando Nginx Docker Image\" width=\"570\" height=\"365\"><figcaption class=\"wp-caption-text\">Instalando Nginx Docker Image<\/figcaption><\/figure>\n<p>Si usted prefiere utilizar su c\u00f3digo PHP 7.4 en su navegador, tambi\u00e9n podr\u00eda instalar una imagen de <a href=\"https:\/\/kinsta.com\/es\/blog\/nginx-vs-apache\/\">Nginx o Apache<\/a>. Pero no se preocupe. S\u00f3lo siga las <a href=\"https:\/\/github.com\/devilbox\/docker-php-fpm-7.4#example\">instrucciones del desarrollador<\/a>. Copie y pegue los comandos desde la p\u00e1gina de imagen de Docker a su herramienta de l\u00ednea de comando y estar\u00e1 listo.<\/p>\n\n<h2>Resumen<\/h2>\n<p>En este art\u00edculo, hablamos de varios cambios y adiciones que podemos esperar del lanzamiento de PHP 7.4. Si est\u00e1 buscando la lista completa de funciones, junto con la documentaci\u00f3n oficial de RFC, chequee estos siguientes recursos:<\/p>\n<ul>\n<li><a href=\"https:\/\/wiki.php.net\/rfc#php_74\">PHP 7.4 Peticiones para Comentarios<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/php\/php-src\/blob\/PHP-7.4\/UPGRADING\">PHP 7.4 Notas de Actualizaci\u00f3n<\/a><\/li>\n<li><a href=\"https:\/\/wiki.php.net\/todo\/php74\">PHP 7.4 Tareas de Preparaci\u00f3n<\/a><\/li>\n<\/ul>\n<p>Le mantendremos actualizado con toda la informaci\u00f3n m\u00e1s reciente sobre PHP 7.4. Si es cliente de Kinsta, ya puede empezar a mover sus sitios de WordPress a la \u00faltima versi\u00f3n.<\/p>\n<p>\u00bfYa est\u00e1 listo para probar las pr\u00f3ximas funciones de PHP? \u00bfCu\u00e1l es su favorita? Comparta con nosotros lo que usted piensa en la secci\u00f3n de comentarios.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>PHP 7.4, la pr\u00f3xima publicaci\u00f3n peque\u00f1a de PHP 7, ha sido publicada a partir del 28 de noviembre de 2019. As\u00ed que es momento que nos &#8230;<\/p>\n","protected":false},"author":36,"featured_media":24585,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[432,414],"topic":[1317],"class_list":["post-24571","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-php","tag-webdev","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>PHP 7.4 \u00bfQu\u00e9 Hay de Nuevo? (Funciones, Deprecaciones, Velocidad)<\/title>\n<meta name=\"description\" content=\"PHP 7.4 viene con nuevas caracter\u00edsticas, deprecaciones y un aumento en el rendimiento. \u00a1Consulte esta descripci\u00f3n detallada sobre las novedades en PHP 7.4!\" \/>\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\/php-7-4\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PHP 7.4 \u00bfQu\u00e9 Hay de Nuevo? (Funciones, Deprecaciones, Velocidad)\" \/>\n<meta property=\"og:description\" content=\"PHP 7.4 viene con nuevas caracter\u00edsticas, deprecaciones y un aumento en el rendimiento. \u00a1Consulte esta descripci\u00f3n detallada sobre las novedades en PHP 7.4!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/es\/blog\/php-7-4\/\" \/>\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=\"2019-07-03T11:50:16+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-02-26T13:10:10+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2021\/02\/mykinsta-clear-cache.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2122\" \/>\n\t<meta property=\"og:image:height\" content=\"1422\" \/>\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.4 viene con nuevas caracter\u00edsticas, deprecaciones y un aumento en el rendimiento. \u00a1Consulte esta descripci\u00f3n detallada sobre las novedades en PHP 7.4!\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/wp-content\/uploads\/2019\/06\/php-7.4.jpg\" \/>\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=\"20 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/php-7-4\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/php-7-4\/\"},\"author\":{\"name\":\"Carlo Daniele\",\"@id\":\"https:\/\/kinsta.com\/es\/#\/schema\/person\/962dde02ea6f5df089b5d8d0853bbc63\"},\"headline\":\"PHP 7.4 \u00bfQu\u00e9 Hay de Nuevo? (Funciones, Deprecaciones, Velocidad)\",\"datePublished\":\"2019-07-03T11:50:16+00:00\",\"dateModified\":\"2025-02-26T13:10:10+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/php-7-4\/\"},\"wordCount\":3810,\"commentCount\":2,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/es\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/php-7-4\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2019\/07\/nuevo-php-7-4.jpg\",\"keywords\":[\"php\",\"webdev\"],\"articleSection\":[\"Desarrollo de WordPress\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/es\/blog\/php-7-4\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/php-7-4\/\",\"url\":\"https:\/\/kinsta.com\/es\/blog\/php-7-4\/\",\"name\":\"PHP 7.4 \u00bfQu\u00e9 Hay de Nuevo? (Funciones, Deprecaciones, Velocidad)\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/es\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/php-7-4\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/php-7-4\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2019\/07\/nuevo-php-7-4.jpg\",\"datePublished\":\"2019-07-03T11:50:16+00:00\",\"dateModified\":\"2025-02-26T13:10:10+00:00\",\"description\":\"PHP 7.4 viene con nuevas caracter\u00edsticas, deprecaciones y un aumento en el rendimiento. \u00a1Consulte esta descripci\u00f3n detallada sobre las novedades en PHP 7.4!\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/php-7-4\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/es\/blog\/php-7-4\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/php-7-4\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2019\/07\/nuevo-php-7-4.jpg\",\"contentUrl\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2019\/07\/nuevo-php-7-4.jpg\",\"width\":1460,\"height\":730,\"caption\":\"(Funciones, Deprecaciones, Velocidad)\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/php-7-4\/#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\":\"PHP 7.4 \u00bfQu\u00e9 Hay de Nuevo? (Funciones, Deprecaciones, Velocidad)\"}]},{\"@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":"PHP 7.4 \u00bfQu\u00e9 Hay de Nuevo? (Funciones, Deprecaciones, Velocidad)","description":"PHP 7.4 viene con nuevas caracter\u00edsticas, deprecaciones y un aumento en el rendimiento. \u00a1Consulte esta descripci\u00f3n detallada sobre las novedades en PHP 7.4!","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\/php-7-4\/","og_locale":"es_ES","og_type":"article","og_title":"PHP 7.4 \u00bfQu\u00e9 Hay de Nuevo? (Funciones, Deprecaciones, Velocidad)","og_description":"PHP 7.4 viene con nuevas caracter\u00edsticas, deprecaciones y un aumento en el rendimiento. \u00a1Consulte esta descripci\u00f3n detallada sobre las novedades en PHP 7.4!","og_url":"https:\/\/kinsta.com\/es\/blog\/php-7-4\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinsta.es\/","article_published_time":"2019-07-03T11:50:16+00:00","article_modified_time":"2025-02-26T13:10:10+00:00","og_image":[{"width":2122,"height":1422,"url":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2021\/02\/mykinsta-clear-cache.png","type":"image\/png"}],"author":"Carlo Daniele","twitter_card":"summary_large_image","twitter_description":"PHP 7.4 viene con nuevas caracter\u00edsticas, deprecaciones y un aumento en el rendimiento. \u00a1Consulte esta descripci\u00f3n detallada sobre las novedades en PHP 7.4!","twitter_image":"https:\/\/kinsta.com\/wp-content\/uploads\/2019\/06\/php-7.4.jpg","twitter_creator":"@carlodaniele","twitter_site":"@Kinsta_ES","twitter_misc":{"Escrito por":"Carlo Daniele","Tiempo de lectura":"20 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/es\/blog\/php-7-4\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/es\/blog\/php-7-4\/"},"author":{"name":"Carlo Daniele","@id":"https:\/\/kinsta.com\/es\/#\/schema\/person\/962dde02ea6f5df089b5d8d0853bbc63"},"headline":"PHP 7.4 \u00bfQu\u00e9 Hay de Nuevo? (Funciones, Deprecaciones, Velocidad)","datePublished":"2019-07-03T11:50:16+00:00","dateModified":"2025-02-26T13:10:10+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/es\/blog\/php-7-4\/"},"wordCount":3810,"commentCount":2,"publisher":{"@id":"https:\/\/kinsta.com\/es\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/es\/blog\/php-7-4\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2019\/07\/nuevo-php-7-4.jpg","keywords":["php","webdev"],"articleSection":["Desarrollo de WordPress"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/es\/blog\/php-7-4\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/es\/blog\/php-7-4\/","url":"https:\/\/kinsta.com\/es\/blog\/php-7-4\/","name":"PHP 7.4 \u00bfQu\u00e9 Hay de Nuevo? (Funciones, Deprecaciones, Velocidad)","isPartOf":{"@id":"https:\/\/kinsta.com\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/es\/blog\/php-7-4\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/es\/blog\/php-7-4\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2019\/07\/nuevo-php-7-4.jpg","datePublished":"2019-07-03T11:50:16+00:00","dateModified":"2025-02-26T13:10:10+00:00","description":"PHP 7.4 viene con nuevas caracter\u00edsticas, deprecaciones y un aumento en el rendimiento. \u00a1Consulte esta descripci\u00f3n detallada sobre las novedades en PHP 7.4!","breadcrumb":{"@id":"https:\/\/kinsta.com\/es\/blog\/php-7-4\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/es\/blog\/php-7-4\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/kinsta.com\/es\/blog\/php-7-4\/#primaryimage","url":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2019\/07\/nuevo-php-7-4.jpg","contentUrl":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2019\/07\/nuevo-php-7-4.jpg","width":1460,"height":730,"caption":"(Funciones, Deprecaciones, Velocidad)"},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/es\/blog\/php-7-4\/#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":"PHP 7.4 \u00bfQu\u00e9 Hay de Nuevo? (Funciones, Deprecaciones, Velocidad)"}]},{"@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\/24571","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=24571"}],"version-history":[{"count":17,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/posts\/24571\/revisions"}],"predecessor-version":[{"id":62092,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/posts\/24571\/revisions\/62092"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/24571\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/24571\/translations\/it"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/24571\/translations\/nl"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/24571\/translations\/fr"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/24571\/translations\/es"},{"embeddable":true,"hreflang":"da","title":"Danish","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/24571\/translations\/dk"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/24571\/translations\/jp"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/24571\/translations\/de"},{"embeddable":true,"hreflang":"sv","title":"Swedish","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/24571\/translations\/se"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/24571\/translations\/pt"},{"href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/24571\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/media\/24585"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/media?parent=24571"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/tags?post=24571"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/topic?post=24571"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}