{"id":8012,"date":"2018-08-09T15:51:41","date_gmt":"2018-08-09T18:51:41","guid":{"rendered":"https:\/\/king.host\/wiki\/?post_type=article&#038;p=8012"},"modified":"2021-06-07T15:14:27","modified_gmt":"2021-06-07T18:14:27","slug":"php-5-6","status":"publish","type":"article","link":"https:\/\/king.host\/wiki\/artigo\/php-5-6\/","title":{"rendered":"PHP 5.6 &#8211; O que \u00e9 importante saber"},"content":{"rendered":"\n<p>O PHP 5.6 existe desde 2014 mas continua sendo uma das vers\u00f5es que o <em>The PHP Group<\/em> mant\u00e9m em constante atualiza\u00e7\u00e3o. Ele representa um grande salto de performance e fun\u00e7\u00f5es em rela\u00e7\u00e3o as suas vers\u00f5es anteriores (5.3, 5.4 e 5.5) e com isso h\u00e1 detalhes que precisamos observar em nossos sites para que tudo continue funcionando bem, com seguran\u00e7a e com melhor performance.<\/p>\n\n\n\n<p>\u00c9 dif\u00edcil manter nossos sistemas atualizados, sobretudo aqueles que apresentam maior complexidade. Por\u00e9m, se atualizarmos um pouquinho a cada dia, essa tarefa se torna mais tranquila. Neste artigo vamos falar do por que atualizar a vers\u00e3o do PHP para a 5.6.<\/p>\n\n\n\n<p>Muitos acreditam que a atualiza\u00e7\u00e3o de sistemas demanda tempo e dinheiro, mas n\u00e3o visualizam que esta atividade pode, justamente, evitar que voc\u00ea venha a perd\u00ea-los em caso de um comprometimento do mesmo devido a falhas de seguran\u00e7a.<\/p>\n\n\n\n<p><box-info><strong>Atualizar seus sistemas, al\u00e9m de torn\u00e1-los mais seguros e menos suscet\u00edveis a invas\u00f5es, permite, muitas vezes, acesso a novas funcionalidades, al\u00e9m de um desempenho superior, trazendo assim uma melhor experi\u00eancia para seus usu\u00e1rios e\/ou clientes<\/strong>.<\/box-info><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Por_que_atualizar_a_versao_de_PHP_do_site\"><\/span>Por que atualizar a vers\u00e3o de PHP do site?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>H\u00e1 v\u00e1rias raz\u00f5es para fazer a atualiza\u00e7\u00e3o do PHP. Uma delas \u00e9 o fato das <strong>vers\u00f5es anteriores \u00e0 5.6 estarem descontinuadas<\/strong>. Ou seja, elas n\u00e3o oferecem mais atualiza\u00e7\u00f5es de seguran\u00e7a, deixando seus sistemas vulner\u00e1veis a ataques maliciosos.<\/p>\n\n\n\n<p>Outros dois bons motivos para atualizar s\u00e3o a performance e o consumo de recursos. A cada vers\u00e3o do PHP, a velocidade de execu\u00e7\u00e3o de scripts \u00e9 melhorada, al\u00e9m deles utilizarem cada vez menos recursos computacionais. Para corroborar esta afirma\u00e7\u00e3o, o gr\u00e1fico abaixo demonstra o quanto uma aplica\u00e7\u00e3o PHP pode atender a mais requisi\u00e7\u00f5es apenas efetuando a troca de vers\u00e3o.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/king.host\/wiki\/wp-content\/uploads\/2018\/08\/phpentreversoes.png\" v-on:click=\"toggle_modal\"><img data-original=\"https:\/\/king.host\/wiki\/wp-content\/uploads\/2018\/08\/phpentreversoes.png\" alt=\"PHP 5.6 e outras vers\u00f5es\"\/><\/a><\/figure>\n\n\n\n<p>\u27a1 Logicamente, quanto mais recente a vers\u00e3o do PHP, melhor ela ser\u00e1 em quest\u00e3o de performance e seguran\u00e7a. Em contrapartida, pode ser que sua aplica\u00e7\u00e3o n\u00e3o esteja totalmente preparada para rodar nas vers\u00f5es mais recentes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Para_qual_versao_atualizar_minha_aplicacao\"><\/span>Para qual vers\u00e3o atualizar minha aplica\u00e7\u00e3o?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Se voc\u00ea utiliza atualmente uma vers\u00e3o do PHP inferior \u00e0 vers\u00e3o 5.6, o ideal \u00e9 atualizar justamente para a 5.6, a fim de aproveitar agora mesmo os ganhos de performance e seguran\u00e7a que esta vers\u00e3o traz para a s\u00e9rie 5.x sem que ocorra grandes incompatibilidades (como fun\u00e7\u00f5es que sua aplica\u00e7\u00e3o utiliza e que agora est\u00e3o depreciadas).<\/p>\n\n\n\n<p>Por\u00e9m, como a vers\u00e3o 5.6 entrar\u00e1 em final de ciclo de vida (EOL) no final deste ano, foque seus esfor\u00e7os em migrar para a s\u00e9rie 7.x, <strong>visto que a vers\u00e3o 5.6 entra no final de seu ciclo de vida em novembro de 2018<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"O_que_mudou_no_PHP_56_que_eu_devo_me_preocupar\"><\/span>O que mudou no PHP 5.6 que eu devo me preocupar?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Nova_sintaxe_de_arrays\"><\/span>Nova sintaxe de arrays<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Foi adicionado suporte ao <em>short array syntax<\/em>, em vez de declarar um array.\n<\/p>\n\n\n\n<pre class=\"wp-block-preformatted lang:php\" lang=\"lang:php\">$antigo = array(\"Laranja\", \"Rosa\", \"Vermelho\", \"Preto\");\n<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted lang:php\" lang=\"lang:php\">$novo = [\"Laranja\", \"Rosa\", \"Vermelho\", \"Preto\"];\n<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Uso_de_mysqli\"><\/span>Uso de mysqli<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Algumas fun\u00e7\u00f5es da extens\u00e3o mysql vem se tornando obsoletas desde a vers\u00e3o 5.3 do PHP, algumas inclusive j\u00e1 foram removidas da vers\u00e3o 7. Como alternativa, \u00e9 poss\u00edvel utilizar as extens\u00f5es <em>PDO_MySQL<\/em> ou a <em>mysqli<\/em>. Para saber mais, acesse: <a href=\"https:\/\/king.host\/wiki\/artigo\/como-conectar-um-banco-de-dados-mysql-utilizando-php\/\" target=\"_blank\" rel=\"noopener noreferrer\">Como conectar um banco de dados MySQL utilizando PHP<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"magic_quotes_%3E_addslashes\"><\/span>magic_quotes =&gt; addslashes()<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>O uso do <em>magic_quotes<\/em> foi descontinuado pelo PHP, com isso ganhamos mais performance no PHP. \u00c9 poss\u00edvel utilizar a fun\u00e7\u00e3o <em>addslashes()<\/em>, quando necess\u00e1rio, para substituir o <em>magic_quotes<\/em>. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"ereg_eregi_%3E_preg_match\"><\/span>ereg, eregi =&gt; preg_match()<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Tanto a fun\u00e7\u00e3o <em>ereg<\/em> quanto a <em>eregi<\/em> foram removidas da vers\u00e3o mais recente do PHP devido a bugs encontrados nelas.\n<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\" lang=\"wp-block-preformatted\">&lt;?php <em>\/\/ereg =&gt; preg_match<\/em><br>$date = date(\"Y-m-d\");<br>ereg(\"([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})\", $date, $r);<br>var_dump($r);<br> <br>$date = date(\"Y-m-d\");<br>preg_match(\"\/([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})\/\", $date, $matches);<br>var_dump($matches);<br>?&gt;<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"ereg_replace_eregi_replace_%3E_preg_replace\"><\/span>ereg_replace, eregi_replace =&gt; preg_replace()<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Assim como o <em>ereg()<\/em> e o <em>eregi()<\/em>, as fun\u00e7\u00f5es <em>ereg_replace()<\/em> e <em>eregi_replace()<\/em> tamb\u00e9m foram removidas na vers\u00e3o mais recente do PHP. Essas fun\u00e7\u00f5es podem ser facilmente substitu\u00eddas pela fun\u00e7\u00e3o <em>preg_replace()<\/em>. Abaixo h\u00e1 um exemplo para a migra\u00e7\u00e3o da fun\u00e7\u00e3o.\n<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\" lang=\"wp-block-preformatted\"> &lt;?php <em>\/\/ereg_replace =&gt; preg_replace() <\/em><br>$num = '5';<br>$string = \"Essa frase tem cinco palavras.\";<br>$string = ereg_replace('cinco', $num, $string);<br>var_dump($string);<br> <br>$num = '5';<br>$string = \"Essa frase tem cinco palavras.\";<br>$string = preg_replace('\/cinco\/', $num, $string);<br>var_dump($string);<br>?&gt;<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"session_register_session_unregister_session_is_registered_%3E_SESSION\"><\/span>session_register, session_unregister, session_is_registered =&gt; $_SESSION<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>As fun\u00e7\u00f5es <em>session_register(), session_unregister() e session_is_registered()<\/em> deixaram de funcionar desde a vers\u00e3o 5.4 do PHP. Por\u00e9m, \u00e9 poss\u00edvel utilizar a a vari\u00e1vel super global <em>$_SESSION<\/em>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"php_mssql_%3E_sql_srv\"><\/span>php_mssql =&gt; sql_srv<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>A biblioteca mssql j\u00e1 n\u00e3o vem mais habilitada desde a vers\u00e3o 5.3 do PHP. Atualmente a Microsoft desenvolveu o driver <em>sqlServ<\/em>, que pode ser utilizada como substituto ao <em>php_mssql<\/em>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"split_%3E_explode\"><\/span>split =&gt; explode<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>A fun\u00e7\u00e3o split tornou-se obsoleta na vers\u00e3o 5.3. H\u00e1 alternativas para substitui\u00e7\u00e3o, como <em>preg_split(), str_split() ou explode()<\/em>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Voce_nao_e_um_programador\"><\/span>Voc\u00ea n\u00e3o \u00e9 um programador?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Ent\u00e3o talvez seja a hora de procurar a pessoa que desenvolveu o seu site ou um outro profissional da \u00e1rea. Se voc\u00ea utiliza uma plataforma CMS como o WordPress, \u00e9 extremamente importante que voc\u00ea mantenha o CMS atualizado em sua vers\u00e3o mais recente poss\u00edvel.<\/p>\n\n\n\n<p><em><span style=\"#color: #808080;\">Voc\u00ea tamb\u00e9m pode conferir este conte\u00fado em nosso blog: <a href=\"https:\/\/king.host\/blog\/2016\/06\/porque-atualizar-versao-do-php-para-5-6\/\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/king.host\/blog\/2016\/06\/porque-atualizar-versao-do-php-para-5-6\/<\/a>. Conte\u00fado elaborado pelos colaboradores Franklin Fernandes e Diego Cassolli \u2013 Analistas de Infraestrutura na KingHost.<\/span><\/em><\/p>\n","protected":false},"author":9,"featured_media":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","format":"standard","article-category":[173],"article-tag":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/article\/8012"}],"collection":[{"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/article"}],"about":[{"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/types\/article"}],"author":[{"embeddable":true,"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/comments?post=8012"}],"version-history":[{"count":0,"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/article\/8012\/revisions"}],"wp:attachment":[{"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/media?parent=8012"}],"wp:term":[{"taxonomy":"article-category","embeddable":true,"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/article-category?post=8012"},{"taxonomy":"article-tag","embeddable":true,"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/article-tag?post=8012"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}