{"id":18338,"date":"2018-06-27T13:30:38","date_gmt":"2018-06-27T16:30:38","guid":{"rendered":"https:\/\/king.host\/blog\/?p=18338"},"modified":"2024-06-03T16:46:16","modified_gmt":"2024-06-03T19:46:16","slug":"php-7-3-e-php-8","status":"publish","type":"post","link":"https:\/\/king.host\/blog\/tecnologia\/php-7-3-e-php-8\/","title":{"rendered":"PHP 7.3 e PHP 8: o que esperar das pr\u00f3ximas vers\u00f5es"},"content":{"rendered":"<p><em>O que h\u00e1 de novo, as principais mudan\u00e7as para o PHP 7.3, data de lan\u00e7amento e o que esperar do PHP 8.<\/em><\/p>\n<p>O PHP continua sendo <strong>a linguagem mais popular<\/strong> do lado do servidor para criar sites. Com uma <strong>participa\u00e7\u00e3o de mercado estimada em 80%<\/strong>, a linguagem de programa\u00e7\u00e3o de vinte e poucos anos est\u00e1 em toda parte. O PHP evoluiu, e as pr\u00f3ximas principais etapas s\u00e3o o lan\u00e7amento da vers\u00e3o 7.3.0<strong> prevista para o final deste ano<\/strong> e as especula\u00e7\u00f5es sobre o PHP 8.0.0 com a compila\u00e7\u00e3o <strong>JIT (just in time)<\/strong>.<\/p>\n<p>Quer evoluir seu conhecimento? Vem comigo dar uma olhada.<\/p>\n<p>A \u00faltima grande vers\u00e3o do <strong>PHP foi 7.0.0<\/strong>. Esta vers\u00e3o foi um <strong>marco importante com desempenho significativamente aprimorado e menor uso de mem\u00f3ria<\/strong>. Desde a vers\u00e3o 7.0, houve dois lan\u00e7amentos adicionando recursos: <strong>7.1 em 2016 e 7.2 em 2017.<\/strong><\/p>\n<p>Mas, assim como ocorre com os estados de versionamento sem\u00e2ntico, <strong>n\u00e3o pode haver altera\u00e7\u00f5es significativas nas vers\u00f5es principais com o patch de vers\u00e3o sem\u00e2ntica<\/strong> (major.minor.patch). A pr\u00f3xima vers\u00e3o secund\u00e1ria, PHP 7.3, est\u00e1 prevista para ser lan\u00e7ada no <strong>final de 2018<\/strong>.<\/p>\n<p>O lan\u00e7amento do PHP 8.0 ainda n\u00e3o est\u00e1 agendado, mas como \u00e9 um grande salto, levar\u00e1 alguns anos. A partir de agora, tamb\u00e9m n\u00e3o h\u00e1 detalhes dos recursos, mas estima-se que a programa\u00e7\u00e3o esteja a anos de dist\u00e2ncia. Algumas especula\u00e7\u00f5es definem o lan\u00e7amento do PHP 8.0.0 para setembro de 2021:<\/p>\n<p><img fetchpriority=\"high\" decoding=\"async\" class=\"aligncenter wp-image-18376 size-full\" src=\"https:\/\/cdn-cms.king.host\/blog-hlg\/uploads\/2018\/06\/php-8.png\" alt=\"php 7\" width=\"513\" height=\"193\" title=\"\" srcset=\"https:\/\/cdn-cms.king.host\/blog-hlg\/uploads\/2018\/06\/php-8.png 513w, https:\/\/cdn-cms.king.host\/blog-hlg\/uploads\/2018\/06\/php-8-300x113.png 300w, https:\/\/cdn-cms.king.host\/blog-hlg\/uploads\/2018\/06\/php-8-400x150.png 400w\" sizes=\"(max-width: 513px) 100vw, 513px\" \/><\/p>\n<h2>O que se tornar\u00e1 obsoleto no PHP 7.3?<\/h2>\n<p>A <a href=\"https:\/\/wiki.php.net\/rfc\/deprecations_php_7_3\" target=\"_blank\" rel=\"noopener\">RFC Deprecations for PHP<\/a>\u00a07.3 mostra algumas funcionalidades, no qual <strong>o uso ser\u00e1 desencorajado<\/strong>, pois ser\u00e3o retiradas ou substitu\u00eddas no PHP. Conforme RFC, estas funcionalidades dever\u00e3o ser <strong>removidas<\/strong> o mais tardar na vers\u00e3o 8.0.<\/p>\n<p>Abaixo algumas das funcionalidades que se tornar\u00e3o obsoletas:<\/p>\n<ul>\n<li>Extens\u00e3o WDDX;<\/li>\n<li>Alias de fun\u00e7\u00e3o <strong>mbstring<\/strong> usando um prefixo <strong>mb_<\/strong> (por exemplo, <strong>mb_ereg<\/strong> );<\/li>\n<li><strong>mb_detect_encoding()<\/strong> sem strict mode;<\/li>\n<li>Fun\u00e7\u00f5es<strong> strip_tags()<\/strong> e <strong>fgetss()<\/strong>;<\/li>\n<li>Fun\u00e7\u00e3o <strong>image2wbmp<\/strong><\/li>\n<\/ul>\n<h2>Principais novidades que entrar\u00e3o no PHP 7.3<\/h2>\n<p>O PHP 7.3 ser\u00e1 oficialmente lan\u00e7ado em <strong>novembro de 2018<\/strong> e trar\u00e1 diversas novidades. Algumas das principais:<\/p>\n<ul>\n<li>Flexibilidade de sintaxe <strong>Heredoc<\/strong> e <strong>Nowdoc<\/strong>;<\/li>\n<li>Permitir v\u00edrgula \u00e0 direita em chamadas de fun\u00e7\u00e3o e m\u00e9todo;<\/li>\n<li>Op\u00e7\u00e3o para fazer <strong>json_encode<\/strong> e <strong>json_decode<\/strong> lan\u00e7ar exce\u00e7\u00f5es em erros;<\/li>\n<li>Atribui\u00e7\u00f5es de refer\u00eancias em <strong>list()<\/strong>;<\/li>\n<li>Fun\u00e7\u00e3o <strong>is_countable()<\/strong>.<\/li>\n<\/ul>\n<p>Todos os outros RFC&#8217;s aprovados, que est\u00e3o sendo implementados na <strong>vers\u00e3o 7.3<\/strong>, voc\u00ea poder\u00e1 ver <strong><a href=\"https:\/\/wiki.php.net\/rfc#php_73\" target=\"_blank\" rel=\"noopener\">aqui<\/a>,\u00a0<\/strong>inclusive, com exemplos de c\u00f3digo.<\/p>\n<h2>Estado de Just In Time (JIT), previsto para o PHP 8<\/h2>\n<p>A compila\u00e7\u00e3o <strong>Just In Time<\/strong> \u00e9 uma maneira de otimizar o c\u00f3digo de execu\u00e7\u00e3o. \u00c9 um m\u00e9todo popular usado pela <strong>Java Virtual Machine (JVM)<\/strong>, bem como a popular <strong>V8 JavaScript VM do Google<\/strong>.<\/p>\n<p>Inicialmente, o desenvolvimento do PHP antes da evolu\u00e7\u00e3o atual (PHP 7.x) se concentrava em <strong>melhorar o desempenho do PHP usando um JIT<\/strong>. Esse esfor\u00e7o resultou em melhorias substanciais nos benchmarks, mas provou <strong>fornecer pequenos aperfei\u00e7oamentos em aplica\u00e7\u00f5es do mundo real<\/strong>, como <strong><a href=\"https:\/\/king.host\/hospedagem-wordpress?utm_source=lab&amp;utm_medium=post&amp;utm_term=&amp;utm_content=blog-post-php-7-8&amp;utm_campaign=content-marketing\" target=\"_blank\" rel=\"noopener\">WordPress<\/a><\/strong> ou Joomla.<\/p>\n<p>Depois que o trabalho foi feito para o PHP 7.0, fornecendo melhorias significativas, as otimiza\u00e7\u00f5es no desempenho nas vers\u00f5es 7.1 e 7.2 foram <strong>bastante modestas<\/strong>. \u00c9 por isso que a equipe est\u00e1 <strong>trabalhando na implementa\u00e7\u00e3o do JIT novamente<\/strong>. Existem alguns resultados encorajadores, mas ainda n\u00e3o h\u00e1 uma an\u00e1lise profunda sobre o projeto PHP JIT.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-18377 size-full\" src=\"https:\/\/cdn-cms.king.host\/blog-hlg\/uploads\/2018\/06\/php-7-.png\" alt=\"php 7\" width=\"644\" height=\"204\" title=\"\" srcset=\"https:\/\/cdn-cms.king.host\/blog-hlg\/uploads\/2018\/06\/php-7-.png 644w, https:\/\/cdn-cms.king.host\/blog-hlg\/uploads\/2018\/06\/php-7--300x95.png 300w, https:\/\/cdn-cms.king.host\/blog-hlg\/uploads\/2018\/06\/php-7--400x127.png 400w\" sizes=\"(max-width: 644px) 100vw, 644px\" \/><\/p>\n<p>Como o PHP \u00e9 um software de c\u00f3digo aberto, os desenvolvedores podem baixar e compilar o c\u00f3digo-fonte. No entanto, muitas pessoas evitam a possibilidade de compilar software por conta pr\u00f3pria. Felizmente, <strong>h\u00e1 uma imagem do Docker dispon\u00edvel que permite aos desenvolvedores experimentarem as compila\u00e7\u00f5es mais recentes do PHP JIT<\/strong> com facilidade:<\/p>\n<blockquote><p>Este reposit\u00f3rio ajuda a testar o php com suporte a jit experimental. Ele foi criado inspirado no tweet acima que fala sobre 54% de melhoria no desempenho.<br \/>\n&#8211; <a href=\"https:\/\/github.com\/mente\/php-docker-jit\" target=\"_blank\" rel=\"noopener\">Imagem do Docker do PHP com suporte experimental ao JIT<\/a><\/p><\/blockquote>\n<p>Tanto o JIT quanto o 8.0.0 aparecem no futuro do PHP, mas ambos s\u00e3o recursos significativos que <strong>permanecem no futuro<\/strong>. E, especialmente para o JIT, os processos de vida curta do PHP <strong>n\u00e3o s\u00e3o ideais para a implementa\u00e7\u00e3o do JIT<\/strong> &#8211; isso \u00e9 comparado a processos em execu\u00e7\u00e3o cont\u00ednua como o Node.js ou o Java.<\/p>\n<p><strong>Na p\u00e1gina dos <a href=\"https:\/\/wiki.php.net\/rfc\" target=\"_blank\" rel=\"noopener\">RFC&#8217;s<\/a><\/strong> voc\u00ea encontra a <strong>documenta\u00e7\u00e3o completa de todas as features e vers\u00f5es<\/strong>, inclusive com exemplos. A vers\u00e3o 7.3 est\u00e1 em desenvolvimento, ent\u00e3o tem features que ainda est\u00e3o em discuss\u00e3o, e claro, <strong>n\u00e3o se limita apenas a novas features<\/strong>, ent\u00e3o vale muito a pena conferir a documenta\u00e7\u00e3o.<\/p>\n<p>Isso \u00e9 tudo por enquanto, mas se voc\u00ea se deparar com outras mudan\u00e7as que n\u00e3o s\u00e3o mencionadas aqui, d\u00favidas ou sugest\u00f5es, deixe um coment\u00e1rio abaixo.<\/p>\n<p>Caso queira acompanhar mais <strong><a href=\"https:\/\/king.host\/blog\/tag\/php\/\" target=\"_blank\" rel=\"noopener\">posts sobre o PHP<\/a><\/strong>, fique ligado no <a href=\"https:\/\/king.host\/blog\/?s=php\" target=\"_blank\" rel=\"noopener\">Blog da KingHost<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>O que h\u00e1 de novo, as principais mudan\u00e7as para o PHP 7.3, data de lan\u00e7amento e o que esperar do PHP 8. O PHP continua sendo a linguagem mais popular do lado do servidor para criar sites. Com uma participa\u00e7\u00e3o de mercado estimada em 80%, a linguagem de programa\u00e7\u00e3o de vinte e poucos anos est\u00e1 [&hellip;]<\/p>\n","protected":false},"author":285,"featured_media":18379,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1179,8],"tags":[1374],"class_list":["post-18338","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-desenvolvimento","category-tecnologia","tag-php"],"_links":{"self":[{"href":"https:\/\/king.host\/blog\/wp-json\/wp\/v2\/posts\/18338","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/king.host\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/king.host\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/king.host\/blog\/wp-json\/wp\/v2\/users\/285"}],"replies":[{"embeddable":true,"href":"https:\/\/king.host\/blog\/wp-json\/wp\/v2\/comments?post=18338"}],"version-history":[{"count":10,"href":"https:\/\/king.host\/blog\/wp-json\/wp\/v2\/posts\/18338\/revisions"}],"predecessor-version":[{"id":35825,"href":"https:\/\/king.host\/blog\/wp-json\/wp\/v2\/posts\/18338\/revisions\/35825"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/king.host\/blog\/wp-json\/wp\/v2\/media\/18379"}],"wp:attachment":[{"href":"https:\/\/king.host\/blog\/wp-json\/wp\/v2\/media?parent=18338"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/king.host\/blog\/wp-json\/wp\/v2\/categories?post=18338"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/king.host\/blog\/wp-json\/wp\/v2\/tags?post=18338"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}