{"id":874,"date":"2023-03-21T09:11:00","date_gmt":"2023-03-21T12:11:00","guid":{"rendered":"https:\/\/devlooper.blog.br\/?p=874"},"modified":"2024-07-30T17:42:38","modified_gmt":"2024-07-30T20:42:38","slug":"tudo-sobre-linguagem-de-programacao-php","status":"publish","type":"post","link":"https:\/\/www.locaweb.com.br\/blog\/temas\/codigo-aberto\/tudo-sobre-linguagem-de-programacao-php\/","title":{"rendered":"O que eu preciso saber sobre a linguagem de programa\u00e7\u00e3o PHP?"},"content":{"rendered":"\n<p>Fala pessoal, como est\u00e3o voc\u00eas nesse caminho para o supra sumo do desenvolvimento? Sou pokemaobr e estou aqui mais uma vez para trazer um tema muito interessante caso voc\u00ea queira conhecer um pouco mais do mundo do desenvolvimento, especificamente se voc\u00ea quiser conhecer melhor a <strong>linguagem de programa\u00e7\u00e3o PHP<\/strong>.<\/p>\n\n\n\n<p>Antes de mais nada, \u00e9 importante sabermos que PHP est\u00e1 entre as l<strong>inguagens de programa\u00e7\u00e3o mais utilizadas no mundo<\/strong> e, segundo a <a href=\"https:\/\/w3techs.com\/technologies\/overview\/programming_language\">W3Techs<\/a> \u00e9 a linguagem de programa\u00e7\u00e3o <a href=\"https:\/\/blog.locaweb.com.br\/temas\/codigo-aberto\/9-tecnologias-para-quem-trabalha-com-back-end\/\">back-end<\/a> (server-side) mais utilizada na web:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"495\" height=\"500\" src=\"https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2019\/05\/linguagem-de-programacao-php-495x500.jpg\" alt=\"linguagem de programa\u00e7\u00e3o php\" class=\"wp-image-40355\" srcset=\"https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2019\/05\/linguagem-de-programacao-php-495x500.jpg 495w, https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2019\/05\/linguagem-de-programacao-php-317x320.jpg 317w, https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2019\/05\/linguagem-de-programacao-php-96x96.jpg 96w, https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2019\/05\/linguagem-de-programacao-php-150x151.jpg 150w, https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2019\/05\/linguagem-de-programacao-php.jpg 614w\" sizes=\"(max-width: 495px) 100vw, 495px\" \/><\/figure>\n<\/div>\n\n\n<p>Dito isso, vamos conhecer um pouco da hist\u00f3ria dessa linguagem e algumas curiosidades dela.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Quando surgiu a linguagem de programa\u00e7\u00e3o PHP?<\/h2>\n\n\n\n<p>O <strong>PHP \u00e9 uma linguagem de programa\u00e7\u00e3o<\/strong> criada nos meados de 1994 (cria\u00e7\u00e3o) &#8211; 1995 (c\u00f3digo-fonte liberado) por Rasmus Lerdorf, em sua primeira vers\u00e3o se tratava de scripts CGI escritos em C para substituir scripts em PERL que Rasmus utilizava em seu site pessoal. Por isso, na primeira vers\u00e3o da linguagem PHP queria dizer Personal Home Page, o que foi modificado posteriormente. O PHP sempre foi uma <a href=\"https:\/\/blog.locaweb.com.br\/temas\/codigo-aberto\/codigo-aberto-codigo-fechado\/\">linguagem open-source<\/a>.<\/p>\n\n\n\n<p>Um tempo depois foi lan\u00e7ado o pacote PHP\/FI (Forms Interpreter), era um conjunto de scripts capaz de receber <strong>dados de formul\u00e1rios HTML<\/strong> e armazenar esses dados em um banco de dados. Na primeira vers\u00e3o do PHP\/FI as vari\u00e1veis eram no estilo PERL, tinha interpreta\u00e7\u00e3o autom\u00e1tica de vari\u00e1veis vindas de formul\u00e1rios e sintaxe embutida no HTML.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"602\" height=\"200\" src=\"https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2019\/05\/php-linguagem.png\" alt=\"php linguagem\" class=\"wp-image-40351\" srcset=\"https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2019\/05\/php-linguagem.png 602w, https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2019\/05\/php-linguagem-500x166.png 500w, https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2019\/05\/php-linguagem-150x50.png 150w\" sizes=\"(max-width: 602px) 100vw, 602px\" \/><\/figure>\n<\/div>\n\n\n<p>Numa vers\u00e3o posterior do PHP\/FI (2.0) iniciou a utiliza\u00e7\u00e3o da tag \u201c&lt;?\u201d para identificar c\u00f3digo PHP, tinham 3 tipos de vari\u00e1veis (long int, double e string) e defini\u00e7\u00e3o de fun\u00e7\u00f5es.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"602\" height=\"201\" src=\"https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2019\/05\/phpformhtml.jpg\" alt=\"phpformhtml\" class=\"wp-image-40352\" srcset=\"https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2019\/05\/phpformhtml.jpg 602w, https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2019\/05\/phpformhtml-500x167.jpg 500w, https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2019\/05\/phpformhtml-150x50.jpg 150w\" sizes=\"(max-width: 602px) 100vw, 602px\" \/><figcaption class=\"wp-element-caption\">Exemplo de &nbsp;form.html<\/figcaption><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"602\" height=\"35\" src=\"https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2019\/05\/displayphp.jpg\" alt=\"displayphp\" class=\"wp-image-40353\" srcset=\"https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2019\/05\/displayphp.jpg 602w, https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2019\/05\/displayphp-500x29.jpg 500w, https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2019\/05\/displayphp-150x9.jpg 150w\" sizes=\"(max-width: 602px) 100vw, 602px\" \/><figcaption class=\"wp-element-caption\">Exemplo de display.html<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Em seguida Zeev Surasky e Andi Gutmans se juntaram (meados de 1998) e desenvolveram a vers\u00e3o 3 do PHP. Eles tinham que <strong>desenvolver um e-commerce<\/strong> para um projeto de faculdade. Ent\u00e3o, reescreveram a linguagem, modificaram o nome para PHP (Hypertext Preprocessor) e implementaram orienta\u00e7\u00e3o a objetos (embrion\u00e1rio) para a linguagem.<\/p>\n\n\n\n<p>Entre 2004 e 2015, a linguagem avan\u00e7ou bastante no que se diz respeito principalmente a orienta\u00e7\u00e3o a objetos, nas vers\u00f5es e subvers\u00f5es 5. Por exemplo no PHP 5.1 (2005) tivemos a implementa\u00e7\u00e3o da abstra\u00e7\u00e3o de banco de dados PDO, no PHP 5.2 (2006) tivemos o suporte ao JSON e a Zip, no PHP 5.3 (2009) a implementa\u00e7\u00e3o de namespaces, o que melhorou infinitamente o gerenciamento de classes, no PHP 5.4 (2012) tivemos a <strong>implementa\u00e7\u00e3o do servidor web<\/strong> embutido no PHP para o PHP ser utilizado no ambiente de desenvolvimento sem a necessidade de um servidor tipo Apache ou Nginx. Tamb\u00e9m nessa \u00e9poca foi desenvolvido o gerenciador de depend\u00eancias do PHP, o Composer.<\/p>\n\n\n\n<p>No PHP 5.5 (2013) foi implementado na linguagem generators e coroutines, al\u00e9m de um password hashing simplificado, para ficar mais f\u00e1cil mexer com senhas por exemplo. No PHP 5.6 (2014) foi feito um trabalho de otimiza\u00e7\u00e3o de mem\u00f3ria ao ponto de que a mem\u00f3ria usada em POST teve uma redu\u00e7\u00e3o entre 200% e 300%.<\/p>\n\n\n\n<p>Ap\u00f3s o PHP 5.6 deveria ser lan\u00e7ado o PHP 6 cuja principal novidade seria o suporte a UNICODE (possibilidade de trabalhar com diversos tipos de caracteres). Por\u00e9m algumas pessoas j\u00e1 tinham lan\u00e7ado livros sobre a vers\u00e3o que nem tinha sido disponibilizada, tamb\u00e9m algumas empresas queriam fazer algumas implementa\u00e7\u00f5es para a linguagem. <\/p>\n\n\n\n<p>Sendo assim <strong>a comunidade melhorou bastante a performance<\/strong>, implementaram o suporte a UNICODE e lan\u00e7aram em 2015 a vers\u00e3o 7.0 do PHP que tinha suporte a classes an\u00f4nimas e scalar type hints por exemplo. Al\u00e9m disso, houve uma mudan\u00e7a nos lan\u00e7amentos de novas vers\u00f5es, passando a acontecer ano ap\u00f3s ano no final do ano corrente.<\/p>\n\n\n\n<p>Atualmente, (mar\u00e7o de 2013) estamos na vers\u00e3o 8.2 do PHP. As novidades da linguagem s\u00e3o: classes readonly, uma nova classe para gerar n\u00fameros aleat\u00f3rios, constantes em traits e muito mais.<\/p>\n\n\n\n<p><em><a href=\"https:\/\/blog.locaweb.com.br\/temas\/codigo-aberto\/dicas-de-php\/\">+8 dicas de PHP que voc\u00ea deveria conhecer em 2023<\/a><\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Prop\u00f3sitos da linguagem de programa\u00e7\u00e3o PHP<\/h2>\n\n\n\n<p>A sintaxe simples do PHP facilita bastante o <a href=\"https:\/\/blog.locaweb.com.br\/temas\/codigo-aberto\/onde-posso-ir-como-dev\/\">desenvolvimento de sistemas<\/a> at\u00e9 mesmo por pessoas com pouca experi\u00eancia em programa\u00e7\u00e3o. E \u00e9 um linguagem \u00f3tima para a entrada de novas pessoas no mundo do desenvolvimento.<\/p>\n\n\n\n<p>Embora o PHP tenha sido criado para desenvolvimento web, a <a href=\"https:\/\/blog.locaweb.com.br\/temas\/codigo-aberto\/linguagens-de-programacao-web\/\">linguagem<\/a> pode ser utilizada para m\u00faltiplos prop\u00f3sitos, seja para gera\u00e7\u00e3o de <a href=\"https:\/\/blog.locaweb.com.br\/temas\/codigo-aberto\/o-que-e-html-semantico\/\">HTML<\/a>, <strong>desenvolvimento de sistemas web<\/strong>, consumo e desenvolvimento de APIs de diversos tipos, desenvolvimento de aplica\u00e7\u00f5es para console, manipula\u00e7\u00e3o de arquivos, raspagem de dados, manipula\u00e7\u00e3o de streams e sockets, entre outros.<\/p>\n\n\n\n<p>O PHP suporta paradigmas imperativos, funcionais, orientados a objetos, procedural e paradigmas reflexivos. Conecta facilmente com uma vasta quantidade (sen\u00e3o quase todos) de banco de dados. Possui uma s\u00e9rie de <a href=\"https:\/\/www.php-fig.org\/psr\/\">padr\u00f5es recomendados para desenvolvimento (PSRs)<\/a><\/p>\n\n\n\n<p>Al\u00e9m disso, o PHP possui suporte a libsodium, uma <strong>biblioteca moderna<\/strong> para trabalhar com: criptografia, descriptografia, assinaturas, hash de senhas e muito mais. Tamb\u00e9m possui suporte a argon2, um algoritmo de hash de senhas muito seguro, vencedor do \u201cPassword Hashing Competition\u201d.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"812\" height=\"500\" src=\"https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2019\/05\/como-usar-a-linguagem-php.png\" alt=\"como usar a linguagem php\" class=\"wp-image-40359\" srcset=\"https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2019\/05\/como-usar-a-linguagem-php.png 812w, https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2019\/05\/como-usar-a-linguagem-php-500x308.png 500w, https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2019\/05\/como-usar-a-linguagem-php-768x473.png 768w, https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2019\/05\/como-usar-a-linguagem-php-150x92.png 150w\" sizes=\"(max-width: 812px) 100vw, 812px\" \/><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">Ferramentas importantes PHP<\/h2>\n\n\n\n<p>Dentre as ferramentas para se trabalhar com a linguagem PHP temos:<\/p>\n\n\n\n<p><a href=\"https:\/\/getcomposer.org\/\">Composer<\/a> &#8211; gerenciador de depend\u00eancias mais utilizado no PHP<\/p>\n\n\n\n<p><a href=\"https:\/\/www.doctrine-project.org\/\">Doctrine <\/a>&#8211; ORM escrito em PHP, baseado no Hibernate<\/p>\n\n\n\n<p><a href=\"https:\/\/phpunit.de\/\">PHPUnit <\/a>&#8211; Software para testes unit\u00e1rios em PHP<\/p>\n\n\n\n<p><a href=\"https:\/\/phpmd.org\/\">PHPMD<\/a> &#8211; Software para verificar bagun\u00e7as em c\u00f3digos PHP<\/p>\n\n\n\n<p><a href=\"https:\/\/phpstan.org\/\">PHPstan<\/a> &#8211; Software para an\u00e1lise est\u00e1tica de c\u00f3digo PHP<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Frameworks PHP<\/h2>\n\n\n\n<p>O PHP possui um vasto conjunto de frameworks para <strong>facilitar o desenvolvimento na linguagem<\/strong>, os tr\u00eas mais conhecidos s\u00e3o: Laravel, Symfony e Laminas (antigo Zend Framework). Al\u00e9m desses nomes como codeigniter, cakephp,&nbsp; phalcon, Yii e muitos outros fazem com que o ecossistema da linguagem seja ainda mais completo.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Comunidades PHP no Brasil<\/h2>\n\n\n\n<p>Sendo uma linguagem de grande abrang\u00eancia e utiliza\u00e7\u00e3o, a maioria dos estados do Brasil possui uma comunidade local de PHP. Comunidades como <a href=\"https:\/\/phpsp.org.br\/\">PHPSP<\/a>, PHPRio, PHP com Rapadura (Cear\u00e1), PHPDF, PHPSC, PHPRS, GOPHP, entre outras reunem-se em eventos durante todo o ano. Um dos eventos organizados pela comunidade juntamente com a Locaweb \u00e9 o <strong>PHP Community Summit<\/strong>, realizado anualmente. A maioria das comunidades tamb\u00e9m realizam meetups mensais de conte\u00fado.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Quem usa a linguagem de programa\u00e7\u00e3o PHP?<\/h2>\n\n\n\n<p>Quando falamos quem usa PHP n\u00e3o podemos deixar de citar o <a href=\"https:\/\/blog.locaweb.com.br\/produtos\/hospedagem-de-sites\/wordpress-para-alavancar-seu-negocio\/\">WordPress<\/a>. A maior plataforma de blogs do mundo utiliza PHP como a linguagem principal do projeto. Tamb\u00e9m a Wikipedia e a maioria das Wiki s\u00e3o escritas em PHP.<\/p>\n\n\n\n<p>No e-commerce podemos citar o desenvolvimento utilizando Magento, Woocommerce, OpenCart, PrestaShop, entre outros. \u00c9 bom lembrar que grandes e-commerces s\u00e3o desenvolvidos nessas plataformas. A plataforma Tray tamb\u00e9m \u00e9 desenvolvida em PHP.<\/p>\n\n\n\n<p>Quando pensamos em f\u00f3runs, as plataformas vBulletin, phpBB, Simple Machine Forums e Invision Power Boards por exemplo, utilizam PHP no seu desenvolvimento. Os CMS: Drupal, Moodle (plataforma utilizada na maioria das universidades no mundo como LMS), Joomla, entre outros tamb\u00e9m s\u00e3o em PHP.<\/p>\n\n\n\n<p>Empresas de todos os portes utilizam PHP. Projetos como Facebook, Slack, Yahoo, Tumblr, Melhor Envio, Sourceforge, Flickr, ClickBus, Dafiti, Ingresso Prime, Leroy Merlin, entre outras, possuem o PHP como linguagem core do neg\u00f3cio.<\/p>\n\n\n\n<p>Al\u00e9m disso, a <a href=\"https:\/\/www.locaweb.com.br\/\">Locaweb<\/a> e demais plataformas de hospedagem\/cloud possuem um \u00f3timo suporte a linguagem PHP. Muito do crescimento de muitos <strong><a href=\"https:\/\/www.locaweb.com.br\/hospedagem-de-sites-com-dominio-gratis\/\" target=\"_blank\" rel=\"noreferrer noopener\">servi\u00e7os de hospedagem de sites<\/a><\/strong> se deu pelo crescimento da utiliza\u00e7\u00e3o da linguagem.<\/p>\n\n\n\n<div class=\"user-cta-block\" style=\"background-color:#2E333C;\"><p>A Hospedagem Dedicada \u00e9 ideal para os seus projetos!<\/p><a class=\"user-cta\" style=\"background-color: #00acc8\n;\" href=\"https:\/\/www.locaweb.com.br\/hospedagem-dedicada\/?utm_source=Blog&#038;utm_medium=own&#038;utm_campaign=codigo-aberto%2Ftudo-sobre-linguagem-de-programacao-php&#038;utm_id=Blog\" target=\"_blank\" rel=\"noopener\">SAIBA MAIS<\/a><\/div>\n\n\n\n<p>Bem, desejo que voc\u00ea tenha aprendido um pouco mais sobre a linguagem PHP e tenha deixado um espacinho para aprender essa linguagem e decolar no mundo do desenvolvimento.<\/p>\n\n\n\n<p>At\u00e9 a pr\u00f3xima!<\/p>\n\n\n\t\t<div class=\"wp-block-web-stories-embed web-stories-embed aligncenter\">\n\t\t\t<div class=\"wp-block-embed__wrapper\" style=\"--aspect-ratio: 0.600000; --width: 360px; --height: 600px\">\n\t\t\t\t<amp-story-player>\n\t\t\t\t\t<a href=\"https:\/\/blog.locaweb.com.br\/web-stories\/principais-linguagens-de-programacao\/\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\tsrc=\"https:\/\/www.locaweb.com.br\/blog\/wp-content\/uploads\/2022\/05\/programacao-web-1.png\"\n\t\t\t\t\t\t\t\twidth=\"360\"\n\t\t\t\t\t\t\t\theight=\"600\"\n\t\t\t\t\t\t\t\talt=\"Linguagens de programa\u00e7\u00e3o: tudo que voc\u00ea precisa saber!\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tloading=\"lazy\"\n\t\t\t\t\t\t\t\tdecoding=\"async\"\n\t\t\t\t\t\t\t\tdata-amp-story-player-poster-img\n\t\t\t\t\t\t\t\/>\n\t\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t<\/amp-story-player>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Fala pessoal, como est\u00e3o voc\u00eas nesse caminho para o supra sumo do desenvolvimento? Sou pokemaobr e estou aqui mais uma vez para trazer um tema muito interessante caso voc\u00ea queira conhecer um pouco mais do mundo do desenvolvimento, especificamente se voc\u00ea quiser conhecer melhor a linguagem de programa\u00e7\u00e3o PHP. Antes de mais nada, \u00e9 importante [&hellip;]<\/p>\n","protected":false},"author":53,"featured_media":40358,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[5],"tags":[],"class_list":["post-874","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codigo-aberto"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/posts\/874","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/users\/53"}],"replies":[{"embeddable":true,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/comments?post=874"}],"version-history":[{"count":7,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/posts\/874\/revisions"}],"predecessor-version":[{"id":48219,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/posts\/874\/revisions\/48219"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/media\/40358"}],"wp:attachment":[{"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/media?parent=874"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/categories?post=874"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/tags?post=874"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}