{"id":1263,"date":"2012-11-27T11:48:51","date_gmt":"2012-11-27T11:48:51","guid":{"rendered":"http:\/\/leonardocotta.com.br\/blog\/?p=1263"},"modified":"2012-11-27T11:48:51","modified_gmt":"2012-11-27T11:48:51","slug":"novidades-php-5-5","status":"publish","type":"post","link":"https:\/\/leonardocotta.com.br\/?p=1263","title":{"rendered":"Com as novidades do PHP 5.5.0 e o que mudou, que impacto ter\u00e1 em projetos prontos, ser\u00e1 possivel migrar a vers\u00e3o do php?"},"content":{"rendered":"<address>Com as novidades do PHP 5.5.0 e o que mudou, que impacto ter\u00e1 em projetos prontos, ser\u00e1 possivel migrar a vers\u00e3o do php?<\/address>\n<p>A lista de melhorias gerais da linguagem s\u00e3o:<\/p>\n<ul>\n<li>Suporte para\u00a0<em>generators<\/em>\u00a0e\u00a0<em>coroutines<\/em><\/li>\n<li>Cria\u00e7\u00e3o de uma API de hashing de senhas<\/li>\n<li>Suporte para utiliza\u00e7\u00e3o de\u00a0<tt>list<\/tt>\u00a0nas estruturas\u00a0<tt>foreach<\/tt><\/li>\n<li>Suporte \u00e0 se\u00e7\u00e3o\u00a0<tt>finally<\/tt>\u00a0nas estruturas\u00a0<tt>try\/catch\/finally<\/tt><\/li>\n<li>Suporte ao derreferenciamento de arrays e strings constantes<\/li>\n<li>Melhorias no controle de exceptions e erros<\/li>\n<li>Suporte \u00e0 utiliza\u00e7\u00e3o do comando\u00a0<tt>empty<\/tt>\u00a0sobre retornos de fun\u00e7\u00f5es e outras express\u00f5es<\/li>\n<li>Remo\u00e7\u00e3o das fun\u00e7\u00f5es\u00a0<tt>php_logo_guid<\/tt>,\u00a0<tt>php_egg_logo_guid<\/tt>,\u00a0<tt>php_real_logo_guid<\/tt>\u00a0e\u00a0<tt>zend_logo_guid<\/tt><\/li>\n<li>Cria\u00e7\u00e3o da fun\u00e7\u00e3o\u00a0<tt>boolval<\/tt>\u00a0para casting do tipo\u00a0<tt>bool<\/tt><\/li>\n<li>Nova op\u00e7\u00e3o para\u00a0<tt>pack<\/tt>\/<tt>unpack<\/tt><\/li>\n<li>Suporte \u00e0 mensagem personalizada em\u00a0<tt>assert<\/tt><\/li>\n<li>Corre\u00e7\u00f5es de bugs diversos<\/li>\n<\/ul>\n<p>A defini\u00e7\u00e3o da\u00a0<abbr title=\"Application Programming Interface\">API<\/abbr>\u00a0para hashing de senha, que ser\u00e1 bem vinda como foi o PDO\u00a0para a padroniza\u00e7\u00e3o das conex\u00f5es com bancos de dados.<\/p>\n<h3>Melhorias em extens\u00f5es<\/h3>\n<p>Segue um resumo de algumas melhorias em extens\u00f5es:<\/p>\n<ul>\n<li>Melhorias diversas na extens\u00e3o\u00a0<tt>Curl<\/tt>\u00a0(requisi\u00e7\u00f5es remotas)<\/li>\n<li>Suporte para PBKDF2 na extens\u00e3o hash (criptografia)<\/li>\n<li>Melhorias diversas na extens\u00e3o\u00a0<tt>Intl<\/tt>\u00a0(internacionaliza\u00e7\u00e3o)<\/li>\n<li>O modificador\u00a0<tt>\/e<\/tt>\u00a0foi depreciado na extens\u00e3o\u00a0<abbr title=\"Perl Compatible Regular Expressions\">PCRE<\/abbr>\u00a0(express\u00f5es regulares)<\/li>\n<li>Melhorias de escape para extens\u00e3o\u00a0<tt>pgsql<\/tt>\u00a0(PostgreSQL)<\/li>\n<\/ul>\n<p>Neste caso, as melhorias s\u00e3o pouco significativas, o modificador\u00a0<tt>\/e<\/tt>\u00a0do PCRE, servia para aplicar\u00a0<tt>eval<\/tt>\u00a0em express\u00f5es regulares usadas para replace, o que era pouqu\u00edssimo usado.<\/p>\n<div>\n<div>\n<h3>Desvantagem ou melhoria? o que deixou de suportar?<\/h3>\n<p>Desde a vers\u00e3o do PHP 5.4 foram descontinuados algumas fun\u00e7\u00f5es antigas no PHP que podem vir a fazer toda a diferen\u00e7a se voc\u00ea decidir migrar seu projeto vindo de uma vers\u00e3o mais antiga e por isso preste bem aten\u00e7\u00e3o se seu projeto est\u00e1 preparado para essa migra\u00e7\u00e3o, para saber se seu projeto suportar\u00e1 as vers\u00f5es a partir da 5.4 do php v\u00e1 no link <a href=\"http:\/\/www.php.net\/ChangeLog-5.php#5.4.0\" target=\"_blank\" rel=\"noopener\">http:\/\/www.php.net\/ChangeLog-5.php#5.4.0<\/a> e veja o que mudou e o que foi descontinuado.<\/p>\n<p>&nbsp;<\/p>\n<h3>Conclus\u00e3o<\/h3>\n<p>Na vers\u00e3o 5.5 n\u00e3o chegaram ainda muitas melhorias assim pelo que pude perceber, posso estar errado, por exemplo, na vers\u00e3o 5.3 ou 5.4 a\u00a0discrep\u00e2ncia\u00a0foi bem maior .N\u00e3o foram melhorias relacionadas \u00e0\u00a0<abbr title=\"Programa\u00e7\u00e3o Orientada a Objetos\">POO<\/abbr>, e sim melhorias de novas estruturas da linguagem, contudo veja bem se seu projeto suporta essa migra\u00e7\u00e3o de vers\u00f5es pois com a descontinuidade de algumas fun\u00e7\u00f5es do php pode ser que voc\u00ea fique na m\u00e3o e nesse caso ainda \u00e9 recomendado utilizar at\u00e9 a vers\u00e3o 5.3.<\/p>\n<p>&nbsp;<\/p>\n<\/div>\n<\/div>\n<div id=\"outbrain_widget_0\">Dispon\u00edvel para Dowload em\u00a0<a href=\"http:\/\/windows.php.net\/qa\/\">http:\/\/windows.php.net\/qa\/<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Com as novidades do PHP 5.5.0 e o que mudou, que impacto ter\u00e1 em projetos prontos, ser\u00e1 possivel migrar a vers\u00e3o do php? A lista de melhorias gerais da linguagem s\u00e3o: Suporte para\u00a0generators\u00a0e\u00a0coroutines Cria\u00e7\u00e3o de uma API de hashing de senhas Suporte para utiliza\u00e7\u00e3o de\u00a0list\u00a0nas estruturas\u00a0foreach Suporte \u00e0 se\u00e7\u00e3o\u00a0finally\u00a0nas estruturas\u00a0try\/catch\/finally Suporte ao derreferenciamento de arrays &hellip; <a href=\"https:\/\/leonardocotta.com.br\/?p=1263\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Com as novidades do PHP 5.5.0 e o que mudou, que impacto ter\u00e1 em projetos prontos, ser\u00e1 possivel migrar a vers\u00e3o do php?<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[54,50,20],"tags":[210],"class_list":["post-1263","post","type-post","status-publish","format-standard","hentry","category-certificacao-php-zend","category-php","category-programacao","tag-php-5-5"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/leonardocotta.com.br\/index.php?rest_route=\/wp\/v2\/posts\/1263","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/leonardocotta.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/leonardocotta.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/leonardocotta.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/leonardocotta.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1263"}],"version-history":[{"count":0,"href":"https:\/\/leonardocotta.com.br\/index.php?rest_route=\/wp\/v2\/posts\/1263\/revisions"}],"wp:attachment":[{"href":"https:\/\/leonardocotta.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1263"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/leonardocotta.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1263"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/leonardocotta.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1263"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}