{"id":2840,"date":"2021-03-11T11:05:00","date_gmt":"2021-03-11T10:05:00","guid":{"rendered":"https:\/\/www.loading.es\/blog\/?p=2840"},"modified":"2021-04-05T13:14:37","modified_gmt":"2021-04-05T11:14:37","slug":"ya-tenemos-php-8","status":"publish","type":"post","link":"https:\/\/www.loading.es\/blog\/ya-tenemos-php-8\/","title":{"rendered":"Ya tenemos PHP 8"},"content":{"rendered":"\n<p>Eso es, <strong>ya disponemos de PHP 8, la \u00faltima actualizaci\u00f3n del lenguaje PHP <\/strong>hasta la fecha. Siempre <strong>recomendamos mantener actualizada la versi\u00f3n PHP<\/strong> ya que esto supone entre otras cosas, un <strong>aumento tanto del rendimiento como de la seguridad de nuestra web.<\/strong><\/p>\n\n\n\n<p>Aun as\u00ed, ten en cuenta que <strong>no deber\u00edas cambiar la versi\u00f3n de PHP a la ligera, sin tener la certeza de que tu aplicaci\u00f3n es compatible con dicha versi\u00f3n de PHP.<\/strong><br>Si tu aplicaci\u00f3n no es compatible con una versi\u00f3n nueva de PHP presentar\u00e1 errores a ra\u00edz del cambio o posteriormente de forma aleatoria. <strong>Si surgieran problemas puedes revertir los cambios.<\/strong><\/p>\n\n\n\n<p>Si quieres cambiar la versi\u00f3n de PHP puedes hacerlo siguiendo los pasos del siguiente tutorial: <a target=\"_blank\" href=\"http:\/\/www.loading.es\/clientes\/knowledgebase\/218\/Seleccion-de-version-PHP-y-cache-en-dominio-desde-panel-Plesk.html\" rel=\"noreferrer noopener\">http:\/\/www.loading.es\/clientes\/knowledgebase\/218\/Seleccion-de-version-PHP-y-cache-en-dominio-desde-panel-Plesk.html<\/a><\/p>\n\n\n\n<p>Dicho esto, te explicamos brevemente <strong>algunas de las novedades m\u00e1s destacables que incluye esta \u00faltima versi\u00f3n de PHP<\/strong>:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Compilador JIT (Just in time)<\/strong> <\/h3>\n\n\n\n<p>Asegura mejoras en el rendimiento puesto que contiene un monitor que revisa el c\u00f3digo al mismo tiempo que se est\u00e1 ejecutando, de forma que si detecta partes de c\u00f3digo que se repiten continuamente este las se\u00f1alar\u00e1 como \u00abalmacenables en cach\u00e9\u00bb seg\u00fan su frecuencia. Estos c\u00f3digos ser\u00e1n compilados en c\u00f3digo de m\u00e1quina ya optimizado y ser\u00e1n utilizados en lugar del c\u00f3digo real, lo que producir\u00e1 una ganancia de tiempo de ejecuci\u00f3n y carga del servidor.<br><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Union Types<\/strong><\/h3>\n\n\n\n<p>PHP8 ya incluye la posibilidad de utilizar la caracter\u00edstica <em>Union Types<\/em> ya utilizada en otros lenguajes de programaci\u00f3n. Nos da la posibilidad de hacer uso de m\u00faltiples tipos de datos para argumentos.<br><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Attributes<\/strong><\/h3>\n\n\n\n<p>O anotaciones, que en versiones anteriores se colocaban con bloques de comentarios y ahora podremos hacer estas anotaciones sin simplemente con el atributo &nbsp;<code>&lt;&lt;PhpAttribute&gt;&gt;<\/code><br><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Named arguments<\/strong><\/h3>\n\n\n\n<p>Nos da la posibilidad<strong> <\/strong>de utilizar argumentos a trav\u00e9s de sus nombres asign\u00e1ndoles un valor para, entre otras cosas, evitar tener que preocuparnos por el orden.<br><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Constructor Property Promotion<\/strong><\/h3>\n\n\n\n<p>Esta caracter\u00edstica nos vendr\u00e1 muy bien a la hora de simplificar el c\u00f3digo ya que nos permitir\u00e1 crear <code>value objects<\/code> de una forma m\u00e1s reducida.<br><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Match expression<\/strong><\/h3>\n\n\n\n<p>Viene siendo el equivalente a la expresi\u00f3n <em>switch<\/em>. La expresi\u00f3n <em>match<\/em> trae como novedad el hecho de que no requieren de un break, utilizan la comparaci\u00f3n de datos estricta y pueden ser almacenadas en variables.<br><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Mixed Type<\/strong><\/h3>\n\n\n\n<p>Con esta novedad podremos utilizar la funci\u00f3n <code>&lt;&lt;mixed&gt;&gt;<\/code> para asignar valores como: <code>&lt;&lt;array, bool, callable, int, float, null, object, resource y string&gt;&gt;<\/code>. Aunque debes tener cuidado porque puede llevar f\u00e1cilmente a generar un error ya que como veis mixed ya incluye null.<br><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong><code>::class<\/code> en objetos<\/strong><\/h3>\n\n\n\n<p>En lugar de utilizar <code>get_class()<\/code> para asignar clases a objetos como hac\u00edamos hasta ahora. Este cambio nos permitir\u00e1 aplicar el <code>::class<\/code> directamente en los objetos, haciendo que nuestro c\u00f3digo quede m\u00e1s limpio. <br><\/p>\n\n\n\n<p>Estas son solo algunas de las novedades que nos trae PHP8, si quieres informaci\u00f3n m\u00e1s exhaustiva acerca de PHP8 puedes visitar el siguiente enlace: <a href=\"https:\/\/www.php.net\/releases\/8.0\/es.php?lang=es\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.php.net\/releases\/8.0\/es.php?lang=es<\/a><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Eso es, ya disponemos de PHP 8, la \u00faltima actualizaci\u00f3n del lenguaje PHP hasta la fecha. Siempre recomendamos mantener actualizada la versi\u00f3n PHP ya que esto supone entre otras cosas, un aumento tanto del rendimiento como de la seguridad de nuestra web. Aun as\u00ed, ten en cuenta que no deber\u00edas cambiar la versi\u00f3n de PHP&#8230;<\/p>\n","protected":false},"author":1,"featured_media":2850,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[67,54,35],"tags":[177,176,83,175],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.loading.es\/blog\/wp-json\/wp\/v2\/posts\/2840"}],"collection":[{"href":"https:\/\/www.loading.es\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.loading.es\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.loading.es\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.loading.es\/blog\/wp-json\/wp\/v2\/comments?post=2840"}],"version-history":[{"count":6,"href":"https:\/\/www.loading.es\/blog\/wp-json\/wp\/v2\/posts\/2840\/revisions"}],"predecessor-version":[{"id":2851,"href":"https:\/\/www.loading.es\/blog\/wp-json\/wp\/v2\/posts\/2840\/revisions\/2851"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.loading.es\/blog\/wp-json\/wp\/v2\/media\/2850"}],"wp:attachment":[{"href":"https:\/\/www.loading.es\/blog\/wp-json\/wp\/v2\/media?parent=2840"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.loading.es\/blog\/wp-json\/wp\/v2\/categories?post=2840"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.loading.es\/blog\/wp-json\/wp\/v2\/tags?post=2840"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}