{"id":518,"date":"2021-02-19T17:46:35","date_gmt":"2021-02-19T17:46:35","guid":{"rendered":"https:\/\/softwareinformatico.com\/blog\/?p=518"},"modified":"2022-03-02T17:46:17","modified_gmt":"2022-03-02T17:46:17","slug":"php-8-nuevas-mejoras","status":"publish","type":"post","link":"https:\/\/softwareinformatico.com\/blog\/php-8-nuevas-mejoras\/","title":{"rendered":"PHP 8. Nuevas mejoras"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\"><br><br><strong>\u00bfQu\u00e9 es PHP?<\/strong><\/h2>\n\n\n\n<p><br><br>El lenguaje <strong>PHP (Hipertext Preprocessor)<\/strong>, es un lenguaje de programaci\u00f3n creado originalmente por Rasmus Ledorf en 1994 con el objetivo de rastrear el acceso a su curr\u00edculum personal.<br><br><\/p>\n\n\n\n<p>Con el paso del tiempo se hizo muy popular y Ledorf acab\u00f3 lanz\u00e1ndolo como <strong>lenguaje de c\u00f3digo abierto<\/strong>.<br><\/p>\n\n\n\n<p><br>Actualmente <strong>PHP se utiliza para el desarrollo web, para crear contenido din\u00e1mico y para trabajar con bases de datos y HTML.<\/strong><br><br><br>Este lenguaje <strong>favorece la conexi\u00f3n entre los servidores y la interfaz del usuario.<\/strong><br><br><br><strong>Destaca por ser de c\u00f3digo abierto, por su funcionalidad vers\u00e1til y por estar siempre en constante evoluci\u00f3n.<\/strong> <br><br><br>En la actualidad podemos ver nuevas mejoras de la actualizaci\u00f3n PHP 8.<br><br><br>Adem\u00e1s es compatible con la mayor\u00eda de Bases de Datos, parte fundamental de la estructura.<br><br><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><br>\u00bfC\u00f3mo funciona PHP?<br><br><\/h2>\n\n\n\n<p>Todo lo que se necesita para programar con PHP es:<br><br><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Un servidor web con un int\u00e9rprete de PHP.<\/strong><br><br><br><\/li><li><strong>Un editor de textos<\/strong>, por ejemplo: Notepad ++, Vim, o Sublime text.<br><br><br><\/li><li><strong>Un navegador web.<\/strong><br><br><\/li><\/ul>\n\n\n\n<p>Como servidores, se suelen usar <a aria-label=\"undefined (abre en una nueva pesta\u00f1a)\" href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">Apache<\/a> o <a href=\"https:\/\/www.nginx.com\/\" target=\"_blank\" aria-label=\"undefined (abre en una nueva pesta\u00f1a)\" rel=\"noreferrer noopener nofollow\">Nginx <\/a>o <a aria-label=\"undefined (abre en una nueva pesta\u00f1a)\" href=\"https:\/\/www.apachefriends.org\/es\/index.html\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">XAMPP<\/a> (que lo incluye todo)<br><br><br>Est\u00e1 desarrollado por Apache y&nbsp; es compatible con cualquiera de los diferentes sistemas operativos.<br><\/p>\n\n\n\n<p><br><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Beneficios de usar PHP<\/strong><br><br><br><\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Es f\u00e1cil de aprender ya que se considera uno de los lenguajes m\u00e1s intuitivos y simples.<br><br><br><\/li><li>Cuenta con una de las comunidades m\u00e1s grandes, por ello nos resultar\u00e1 m\u00e1s sencillo encontrar respuesta a cualquier duda que nos pueda surgir.<br><br><br><\/li><li>&nbsp;<a href=\"https:\/\/www.php.net\/\" target=\"_blank\" aria-label=\"undefined (abre en una nueva pesta\u00f1a)\" rel=\"noreferrer noopener nofollow\">PHP<\/a> es libre y multiplataforma, lo que nos permite un f\u00e1cil acceso y trabajar en diferentes sistemas operativos (Oracle, MySQL, PostgreSQL, SQL Server, Interbase, MongoDB, etc.)<br><br><br><\/li><li>Se ejecuta de forma r\u00e1pida y eficiente.<br><br><br><\/li><li>Soporta una gran cantidad de bases de datos diferentes.<br><br><br><\/li><li>Su uso es muy popular, se desarrolla en sitios web como Facebook, Wikipedia, Dropbox, WordPress, Yahoo!, Tumblr, etc.<br><br><br><\/li><li>Nos ofrece seguridad, el c\u00f3digo PHP es invisible tanto para el navegador como para el usuario.<br><br><\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><br><br><strong>PHP 8, una nueva versi\u00f3n<\/strong><br><\/h2>\n\n\n\n<p><br><br>Pocos meses despu\u00e9s de que PHP cumpliera 26 a\u00f1os, el 26 de noviembre de 2020 lanz\u00f3 su \u00faltima versi\u00f3n: <a href=\"https:\/\/www.php.net\/releases\/8.0\/es.php\" target=\"_blank\" aria-label=\"undefined (abre en una nueva pesta\u00f1a)\" rel=\"noreferrer noopener nofollow\">PHP 8<\/a>.&nbsp;<br><br><\/p>\n\n\n\n<p>Sin duda, despu\u00e9s de tantos a\u00f1os sigue siendo el lenguaje de programaci\u00f3n m\u00e1s usado para generar p\u00e1ginas web din\u00e1micas.<br><br><br><\/p>\n\n\n\n<p><strong>Esta nueva versi\u00f3n se ha centrado sobre todo en la creaci\u00f3n de nuevas funcionalidades<\/strong> e integra muchas m\u00e1s caracter\u00edsticas e importantes mejoras en comparaci\u00f3n con las versiones anteriores.<br><br><br><\/p>\n\n\n\n<div class=\"div_consulta_bordes\"><p class=\"text_ini\">Si necesitas ayuda, o tienes dudas sobre <a href=\"https:\/\/softwareinformatico.com\/\" title=\"aplicaciones inform\u00e1ticas\">aplicaciones inform\u00e1ticas<\/a> preg\u00fantanos, podemos ayudarte.<\/p><div class=\"creatutienda\"><a href=\"https:\/\/softwareinformatico.com\/consulta-informatica\/\" title=\"consulta informatica\">CONSULTA INFORMATICA<\/a><\/div><\/div>\n\n\n\n<p><br><br><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Nuevas mejoras de PHP 8<br><br><\/h2>\n\n\n\n<h4 class=\"wp-block-heading\"><br><br><strong>Argumentos con nombre (Named argumented)<\/strong><br><br><br><\/h4>\n\n\n\n<p>Esta es una de las caracter\u00edsticas m\u00e1s relevantes de PHP 8, muy similar a lo que PHYTON nos ofrece.<br><br><\/p>\n\n\n\n<p>Con esta nueva mejora ya no ser\u00e1 necesario especificar todos los valores. <br><br><br><strong>Los argumentos con nombre permitir\u00e1n a los desarrolladores sobrescribir los valores por defecto que se quieran cambiar<\/strong>.<br><br><br>Adem\u00e1s, se podr\u00e1n combinar con normales y posicionales.<br><br><br><\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>JIT (Just in time compilation)<\/strong><br><br><\/h4>\n\n\n\n<p><br>PHP es un lenguaje interpretado, <strong>el int\u00e9rprete de PHP es el que hace que nuestro c\u00f3digo funcione correctamente.<br><\/strong><br><\/p>\n\n\n\n<p>Esta t\u00e9cnica ejecuta un c\u00f3digo inform\u00e1tico que se compila durante el tiempo de aplicaci\u00f3n de un programa.<br><br><br>Con esta nueva funcionalidad obtendremos un lenguaje mucho m\u00e1s r\u00e1pido y un mejor rendimiento. Ya que tendremos c\u00f3digo nativo generado, en vez de como hasta ahora de interpretar el c\u00f3digo siempre.<br><br><\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Atributos (Attributes)<\/strong><br><br><\/h4>\n\n\n\n<p><br>Conocidos como anotaciones. <br><br><br><strong>Esta nueva caracter\u00edstica nos permitir\u00e1 agregar metadatos estructurados directamente de la sintaxis nativa de PHP, en vez de anotaciones PHPDoc.<\/strong><br><br><br>Asimismo, los atributos se podr\u00e1n a\u00f1adir a clases, funciones, interfaces etc.<br><br><br><\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Tipos de uni\u00f3n (Union types)<\/strong><br><br><\/h4>\n\n\n\n<p><br>Los tipos de uni\u00f3n pueden ser \u00fatiles en muchos casos gracias a su naturaleza.<br><br><\/p>\n\n\n\n<p>Son una colecci\u00f3n de dos o m\u00e1s tipos y nos permiten trasladar m\u00e1s datos de las anotaciones PHPDoc a las firmas de funciones.<br><br><br><\/p>\n\n\n\n<p>Este lenguaje al soportar a los tipos de uni\u00f3n <strong>nos beneficia en la simplificaci\u00f3n u optimizaci\u00f3n de la sintaxis y en la detecci\u00f3n de errores.<\/strong><br><br><br><\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Constructor property promotion RFC <\/strong><br><br><\/h4>\n\n\n\n<p><br><strong>Su misi\u00f3n es crear objetos de value objects y data transfer objects.<\/strong><br><br><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Ahora tendremos la posibilidad de combinarlas en una sola, en vez de especificar propiedades de clase PHP.<br><br><br><\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Expresiones Match<\/strong><\/h4>\n\n\n\n<p><br><br>Se incorpora una alternativa a Switch con la expresi\u00f3n match (Expresi\u00f3n de coincidencia). <br><br><br>Match nos permitir\u00e1 ejecutar un bloque de c\u00f3digo en funci\u00f3n del valor de la variable.<\/p>\n\n\n\n<p><br><br>La diferencia que podemos observar, es que <strong>con match la comprobaci\u00f3n ser\u00e1 type-safe, garantiz\u00e1ndonos una mayor resistencia.<\/strong><br><\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><br><br><strong>Operador Null Safe<\/strong><\/h4>\n\n\n\n<p><br><br>Este operador nos permitir\u00e1  comprobar condiciones nulas y protegernos de los errores.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><br><br><br><strong>Tipo mixto (Mixed type)<\/strong><\/h4>\n\n\n\n<p><br><br>El nuevo mixed nos ahorrar\u00e1 tiempo al asignar valores como: array, bool, callable, int, float, object, resource y string.<br><\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><br><br><strong>Nuevas funciones Strings<\/strong><\/h4>\n\n\n\n<p><br><br>Se crean con el objetivo de simplificar nuestro trabajo:<br><br><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>str_contains<\/strong> , soluciona el empleo de la funci\u00f3n strpos para comprobar si un string contiene a otro.<br><br><br><\/li><li><strong>str_starts_with<\/strong> para ver si un string comienza con un determinado string.<br><br><br><br><\/li><li><strong>str_ends_with<\/strong> para verificar si un string termina con un determinado string.<br><br><br><\/li><\/ul>\n\n\n\n<p>PHP 8 tambi\u00e9n incluye nuevas mejoras en el sistema de tipos y en el tratamiento de errores:&nbsp;<br><br><br><strong>El tipo de retorno est\u00e1tico<\/strong>, <strong>avisos de error reclasificados<\/strong>, <strong>herencia con m\u00e9todos privados, verificaciones de tipos m\u00e1s estrictas para operadores aritm\u00e9ticos y Bitwise.<\/strong><br><br><\/p>\n\n\n\n<p>Esta nueva versi\u00f3n tambi\u00e9n integra <strong>nuevas clases, funciones o interfaces:<\/strong><br><br> <br><br>Weak map, Stringable, str_contains(),&nbsp;str_starts_with(),&nbsp;str_ends_with(), fdiv(), get_debug_type(), get_resource_id(), token_get_all()&nbsp;o New DOM Traversal and Manipulation APIs.<br><br><br><br><br><br><br><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"mh-excerpt\"><p>\u00bfQu\u00e9 es PHP? El lenguaje PHP (Hipertext Preprocessor), es un lenguaje de programaci\u00f3n creado originalmente por Rasmus Ledorf en 1994 con el objetivo de rastrear <a class=\"mh-excerpt-more\" href=\"https:\/\/softwareinformatico.com\/blog\/php-8-nuevas-mejoras\/\" title=\"PHP 8. Nuevas mejoras\">[&#8230;]<\/a><\/p>\n<\/div>","protected":false},"author":1,"featured_media":545,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[48,35,47,9],"class_list":["post-518","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-programacion-web","tag-html","tag-lenguajes-de-programacion","tag-paginas-web","tag-php"],"_links":{"self":[{"href":"https:\/\/softwareinformatico.com\/blog\/wp-json\/wp\/v2\/posts\/518","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/softwareinformatico.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/softwareinformatico.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/softwareinformatico.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/softwareinformatico.com\/blog\/wp-json\/wp\/v2\/comments?post=518"}],"version-history":[{"count":0,"href":"https:\/\/softwareinformatico.com\/blog\/wp-json\/wp\/v2\/posts\/518\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/softwareinformatico.com\/blog\/wp-json\/wp\/v2\/media\/545"}],"wp:attachment":[{"href":"https:\/\/softwareinformatico.com\/blog\/wp-json\/wp\/v2\/media?parent=518"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/softwareinformatico.com\/blog\/wp-json\/wp\/v2\/categories?post=518"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/softwareinformatico.com\/blog\/wp-json\/wp\/v2\/tags?post=518"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}