PHP: um guia completo sobre essa linguagem de programação

PHP: um guia completo sobre essa linguagem de programação

Se você está se aventurando no mundo da programação, é muito provável que já tenha ouvido falar sobre PHP e se perguntado do que se trata.

Não é por acaso, afinal o PHP está entre as linguagens de programação mais utilizadas do mundo, segundo o ranking da Tiobe de setembro de 2024.

Imagem de uma tabela com 4 células. A primeira coluna está escrito "Sep 2024", a segunda "Sep 2023", a terceira "Change" e a última "Programming Language". PHP aparece na décima terceira posição na tabela.

PHP é uma linguagem de programação focada no desenvolvimento de sites e aplicações web. É o PHP que faz diversos sites que você conhece e usa diariamente funcionarem nos bastidores, como Slack, Facebook e WordPress.

Quer descobrir o poder dessa linguagem e como ela pode impulsionar sua carreira na tecnologia?

Neste artigo vamos juntos explorar a história, onde usar, como configurar e até mesmo criar seu primeiro código PHP. Aperte os cintos e vamos nessa!

História do PHP

A primeira versão do PHP foi desenvolvida em 1994 por Rasmus Lerdorf, um programador que buscava desenvolver um conjunto de scripts simples para monitorar os acessos em seu próprio site.

Essa primeira versão foi escrita em C e se chamava "Personal Home Page Tools" ou “PHP Tools”.

Imagem de Rasmus Lerdorf, criador do PHP. Ele está de óculos, blusa verde, com um sorriso tímido. Tem pele clara e na foto está atrás de algumas folhas.

Ao longo do tempo, Rasmus aprimorou e reescreveu o PHP Tools, o que possibilitou por exemplo realizar a conexão com banco de dados e dinamizar as aplicações web de forma simples.

Em 1995, ele finalmente liberou seu código, o que possibilitou a melhoria dessa ferramenta através da participação de pessoas desenvolvedoras espalhadas ao redor do mundo.

O PHP Tools passou por expansões, reescritas, mudanças de sintaxe e de nome. Uma dessas versões reescritas foi o PHP/FI, que ganhou popularidade e em 1998 já estava presente em cerca de 60.000 domínios.

Em 1997, os universitários Andi Gutmans e Zeev Suraski precisavam desenvolver uma aplicação e-commerce e perceberam que o PHP/FI não possuía alguns recursos que eles precisariam.

Ao contactarem Rasmus e discutirem sobre as funcionalidades da ferramenta, decidiram juntos reescrevê-la como uma nova e independente linguagem de programação.

Assim, nasce a linguagem PHP, um acrônimo recursivo de “Hypertext Preprocessor” ou em português, *"Pré-Processador de Hipertexto".

De lá pra cá, PHP recebeu melhorias de performance, em 1999 ganhou o novo motor conhecido como “Zend Engine” (uma junção dos nomes Zeev e Andi), além de grandes atualizações e otimizações.

Banner da Escola de Programação: Matricula-se na escola de Programação. Junte-se a uma comunidade de mais de 500 mil estudantes. Na Alura você tem acesso a todos os cursos em uma única assinatura; tem novos lançamentos a cada semana; desafios práticos. Clique e saiba mais!

O PHP ainda é relevante?

De acordo com a pesquisa da W3Techs, atualmente cerca de 75,9% dos sites da internet estão usando PHP no servidor. Ou seja, são praticamente 8 em cada 10 sites.

Como podemos perceber, ao contrário do que alguns costumam afirmar, o PHP está bem longe do seu fim. E sim, essa linguagem possui relevância no mercado de desenvolvimento.

Para saber mais, assista ao episódio “A evolução do PHP”, do Hipsters Ponto Tube:

O PHP é gratuito?

Uma das maiores vantagens dessa linguagem é que ela possui código aberto.

Ou seja, é gratuita, pode ser usada para comercialização e recebe melhorias em seu código pela comunidade de pessoas desenvolvedoras.

Porém, um ponto importante é que quando trabalhamos com PHP, precisamos utilizar alguma ferramenta para escrever os códigos.

Para isso podemos usar as IDEs, do inglês Integrated Development Environment, ou seja, ambiente de desenvolvimento integrado.

Para desenvolver em PHP, existe uma IDE muito popular chamada PHPStorm. No entanto, essa IDE é paga. Por isso, um editor de código gratuito muito utilizado em PHP é o Visual Studio Code.

Onde usar PHP?

O PHP é uma linguagem super versátil, capaz de se adaptar a diversas atividades, confira as mais usadas:

  • Desenvolvimento de sites web: esse é, sem dúvida, o uso mais comum do PHP. Ele foi criado para gerar páginas dinâmicas na web, processando dados no servidor e interagindo com bancos de dados. De blogs à plataformas robustas como WordPress, o PHP está por trás de muitos dos sites que você acessa diariamente.

Exemplo: se você precisa criar um site dinâmico para sua empresa ou para o seu portfólio de projetos pessoais, em que seja possível mostrar informações de um banco de dados ou permitir logins, o PHP é uma boa escolha.

  • Aplicações de linha de comando: é possível utilizar o PHP para execução de scripts de linha de comando totalmente independentes do servidor web. Isso permite a manipulação de arquivos e a realização de tarefas manuais diretamente pelo terminal do seu computador.

Por exemplo: você pode utilizar a linha de comando do PHP para fazer backups, extrair dados de uma planilha ou enviar relatórios por e-mail.

  • APIs e serviços web: se você tem interesse na construção de APIs, saiba que o PHP é uma ótima opção para isso.

Caso queira saber mais sobre APIs, recomendo o Curso de PHP na Web: lidando com segurança e API e se quiser aprender a implementar APIs com PHP, o assunto é abordado no curso Laravel: construindo APIs.

Como começar a programar em PHP?

Agora que você já sabe um pouco sobre a história e o propósito do PHP, vamos explorar a linguagem e aprender como criar um script.

Configurando o ambiente

Vamos utilizar o VSCode para criar nossos códigos PHP. Se você não sabe como instalar e usar esse editor de código, pode recorrer ao artigo VisualStudio Code: instalação, teclas de atalho, plugins e integrações.

Em seguida, precisamos realizar a instalação do PHP. Você pode fazer isso de modo simples seguindo o tutorial do artigo PHP: da instalação ao primeiro código.

Sintaxe básica e primeiro script

Agora que nosso ambiente está pronto, podemos escrever nosso primeiro “Olá mundo!”. Vamos criar um arquivo chamado primeiro-programa.php em que vamos escrever o código abaixo:

<?php
echo "Olá mundo!";

Na primeira linha, escrevemos o <?php, que indica que vamos criar um bloco de código em PHP.

Depois, usamos a instrução echo "Olá mundo!";, para que ela apareça como saída no terminal.

Não se esqueça que, em PHP, temos que colocar ponto e vírgula ( ;) no final das instruções para que elas sejam reconhecidas.

Para executar o código dentro do Visual Studio Code, aperte CONTROL + J e digite php .\primeiro-programa.php. Se tudo ocorrer bem, vamos obter a saída à seguir:

Terminal executando um script PHP que imprime 'Olá mundo!'

Gif do personagem “Michael Scott” fazendo uma expressão feliz de surpresa

Com nosso primeiro script criado, vamos conhecer mais funcionalidades do PHP.

Comentários em PHP

Quando construímos um código, devemos nos esforçar para escrever algo legível. Ou seja, nomeamos variáveis para que sejam autoexplicativas e vamos nos atentar à organização das estruturas que criaremos.

No entanto, em alguns cenários precisaremos de recursos auxiliares para anotar o que o código faz e assim facilitar a vida de outras pessoas que vão trabalhar no código ou até nós mesmos em manutenções no futuro.

Para isso, podemos utilizar os comentários, que são notas de texto que podemos fazer pelo código sem interferir em nada durante a execução. Eles serão apenas um apoio na leitura e entendimento do código.

Em PHP, podemos fazer um comentário adicionando duas barras // e em seguida o texto que quiser.

No nosso código Olá mundo! ficaria assim:

<?php
echo "Olá mundo!"; // escreve Olá mundo

Agora que você já sabe o que é um comentário e como ele é implementado em PHP, vamos continuar aprendendo sobre essa linguagem e, ao longo dessa jornada, veremos alguns comentários para auxiliar nosso entendimento do código.

Tipos de dados e variáveis

Na maioria dos códigos que escrevemos, não estamos apenas interessados em exibir mensagens na tela.

Queremos também armazenar e processar informações, e é aí que entram as variáveis. Elas servem para armazenar dados que podemos utilizar e manipular ao longo do código.

Imagine que você deseja guardar o nome de um filme que marcou gerações — pensou em Titanic? Eu pensei! Para salvar esse valor em uma variável, a sintaxe seria assim:

<?php
$nomeFilme = "Titanic"; // variável string

Observe que quando criamos uma variável, precisamos colocar o símbolo de dólar $ em frente ao seu nome para que seja reconhecida pelo PHP. Além disso, o conteúdo da nossa variável foi colocado entre aspas ". Esse é o padrão para dados do tipo texto.

Fora esse tipo, podemos criar mais algumas variáveis para armazenar dados do filme que receberão dados de outros tipos em PHP. Confira o trecho a seguir:

<?php
$nomeFilme = "Titanic"; // variável string

$anoLançamento = 1998; // variável inteiro

$precoAluguel = 10.99; // variável float

$foiAssistido = true; // variável boolean

Criamos a variável de ano de lançamento, que recebe o valor inteiro 1998 e também o valor de aluguel do filme, que recebe um número de ponto flutuante 10.99. Chamamos isso de float.

Também temos a variável $foiAssistido para registrar se já viu o filme ou não. Ela é do tipo boolean e só pode receber os valores true ou false.

Muita informação? Para facilitar, preparei um resumo dos tipos de dados e como usar:

Tipo de DadoDescriçãoExemplo de Código
StringRepresenta uma sequência de caracteres (texto).$nomeFilme = "Titanic";
InteiroNúmeros inteiros, sem casas decimais.$anoLancamento = 1997;
FloatNúmeros com casas decimais (números de ponto flutuante).$precoAluguel = 10.99;
BooleanValores binários, que podem ser true (verdadeiro) ou false (falso).$foiAssistido = true;

Estruturas de controle

Agora que já sabemos como exibir valores e armazenar dados, vamos aprender a trabalhar com eles, para termos maior controle no fluxo das informações.

Imagine que queremos verificar se o preço do aluguel do filme está baixo ou alto. Para isso, podemos usar a estrutura condicional if, elseif e else.

<?php

$nomeFilme = "Titanic"; // variável string

$anoLançamento = 1998; // variável inteiro

$precoAluguel = 10.99; // variável float

$foiAssistido = true; // variável boolean

if ($precoAluguel > 15) {
    echo "O preço do aluguel está muito alto.";
} 

Começamos adicionando um bloco if com a condição $precoAluguel > 15. Ou seja, se o preço de aluguel for maior que 15, a mensagem "O preço do aluguel está muito alto." será exibida:

Terminal executando um script PHP que imprime "O preço do aluguel está muito alto." como resultado da estrutura condicional

Agora vamos exibir uma mensagem para valores entre 5 e 15:

<?php

$nomeFilme = "Titanic"; // variável string

$anoLançamento = 1998; // variável inteiro

$precoAluguel = 10.99; // variável float

$foiAssistido = true; // variável boolean

if ($precoAluguel > 15) {
    echo "O preço do aluguel está muito alto.";
} elseif ($precoAluguel >= 5) {
    echo "O preço do aluguel está razoável.";
} 

O que fizemos acima foi criar um bloco elseif. Ele é responsável por executar uma segunda ação, caso a do primeiro if seja falsa.

Ou seja, se colocarmos um valor menor ou igual e 15 e maior ou igual a 5, como por exemplo 13, teremos a mensagem "O preço do aluguel está razoável.":

Terminal executando um script PHP que imprime "O preço do aluguel está razoável." como resultado da estrutura condicional

Para fechar, adicionamos o bloco else:


<?php

$nomeFilme = "Titanic"; // variável string

$anoLançamento = 1998; // variável inteiro

$precoAluguel = 10.99; // variável float

$foiAssistido = true; // variável boolean

if ($precoAluguel > 15) {
    echo "O preço do aluguel está muito alto.";
} elseif ($precoAluguel >= 5) {
    echo "O preço do aluguel está razoável.";
} else {
    echo "O preço do aluguel está barato.";
}

O bloco else será executado se nenhuma das condicionais anteriores forem verdadeiras. Assim, se o filme custar menos que 5, a mensagem abaixo será exibida:

Terminal executando um script PHP que imprime "O preço do aluguel está barato." como resultado da estrutura condicional

Além do if, else também existem outras estruturas condicionais que você pode conhecer, como o [match](https://www.php.net/manual/pt_BR/control-structures.match.php) e o [switch](https://www.php.net/manual/pt_BR/control-structures.switch.php).

Estruturas de repetição

Você pode se deparar com situações em que precisa executar a mesma tarefa várias vezes, como processar uma lista de dados ou realizar uma ação repetidamente até que uma condição seja atendida. É nesse momento que as estruturas de repetição entram em cena.

No PHP, uma das estruturas de repetição mais comuns é o foreach. Para exemplificar, vamos acrescentar mais filmes a nossa base de dados:

$filmes = ["Titanic", "Avatar", "O Senhor dos Anéis"];

Acabamos de criar uma lista (ou array), que funciona de forma semelhante a uma variável comum, mas pode armazenar vários valores ao mesmo tempo. Esses valores estão separados por vírgulas ( ,) e são colocados entre colchetes ([]).

Com a lista pronta, iremos usar o foreach para percorrer e exibir todos os filmes da lista:

foreach($filmes as $filme) {
    echo "Filme: $filme\n";
}

No código acima, o foreach instrui o PHP a percorrer cada item da lista $filmes.

A cada iteração, o valor atual é atribuído à variável $filme, e o echo exibe no terminal a palavra "Filme:" seguida pelo nome do filme.

Já o \n serve para pular uma linha a cada título exibido. Confira o resultado abaixo:

Terminal executando um script PHP que imprime os nomes dos filmes “Titanic", "Avatar", e "O Senhor dos Anéis” através da repetição foreach

Além do foreach, o PHP também trabalha com as estruturas de repetição [while](https://www.php.net/manual/pt_BR/control-structures.while.php), [do while](https://www.php.net/manual/en/control-structures.do.while.php), [for´](https://www.php.net/manual/pt_BR/control-structures.for.php) e é recomendável que você as explore.

Funções

Nós conhecemos as estruturas de repetição em PHP e, agora, é hora de explorar as funções.

Imagine que você queira exibir a lista de filmes em diferentes partes do seu código, mas não quer duplicar o mesmo código toda vez. Para isso podemos usar uma função.

As funções são responsáveis por isolar um trecho de código que só será executado quando ela for chamada. Isso favorece a manutenção, já que se houver algum problema no código, basta alterar no trecho isolado, sem afetar o resto do código.

As funções também são muito úteis pois podem ser chamadas em vários lugares e esse reaproveitamento evita redundâncias.

Vamos aplicar em nosso código:


// código omitido

$filmes = ["Titanic", "Avatar", "O Senhor dos Anéis"];

function listarFilmes($filmes) {
    foreach ($filmes as $filme) {
        echo "Filme: $filme\n";
    }
}

O que fizemos acima foi envolver o foreach que criamos anteriormente em uma função, definida pelo termo function, seguido pelo título que escolhemos para a função: listarFilmes.

Também adicionamos parênteses () , que servem para passarmos dados ou variáveis quando a função for chamada, que são chamados de parâmetros e poderão ser usados dentro da função.

Agora, se executarmos o código, nada vai acontecer pois o foreach foi isolado.

Se quisermos que nossa estrutura de repetição seja executada, precisamos fazer a chamada da função passando nossa lista $filmes como parâmetro:


$filmes = ["Titanic", "Avatar", "O Senhor dos Anéis"];

function listarFilmes($filmes) {
    foreach ($filmes as $filme) {
        echo "Filme: $filme\n";
    }
}

listarFilmes($filmes); // Chama a função com uma lista de filmes

Fizemos a chamada da função passando a lista de filmes como parâmetro, assim conseguiremos percorrê-la e exibir nossos filmes como na imagem abaixo:

Terminal executando um script PHP que imprime os nomes dos filmes “Titanic", "Avatar", e "O Senhor dos Anéis” através da repetição foreach

Não observamos mudanças na saída no terminal, mas agora nosso código está isolado na função e poderá ser facilmente reaproveitado, caso necessário.

PHP e Orientação a Objetos

A programação orientada a objetos, carinhosamente chamada de POO, é um paradigma de programação que se baseia em classes e objetos.

Se você leu essas palavras e não faz ideia do que se trata, recomendo muito a leitura do artigo POO: o que é programação orientada a objetos?, que vai ajudar a clarear sua visão sobre o assunto.

No contexto de PHP, muitas pessoas não sabem que é possível programar com POO porque inicialmente a linguagem não suportava esse paradigma. No entanto, a partir do PHP 5, isso se tornou uma possibilidade.

Esse assunto foi abordado no episódio “Orientações a Objetos e Programação Funcional em PHP” do Hipsters Ponto Tube, com o especialista Vinicius Dias:

Ainda, se quiser aprofundar mais, aqui na Alura temos o formação Aprenda a programar em PHP com Orientação a Objetos, que vai introduzir a construção de códigos PHP nesse paradigma.

PHP e Wordpress

Se você não conhece o WordPress, saiba que ele é um sistema de gerenciamento de conteúdo (CMS) muito popular no mundo todo, que serve para a construção de sites, principalmente sem precisar usar código.

De acordo com a pesquisa da W3Techs, o WordPress é usado por cerca de 43,5% de todos os sites da internet, incluindo páginas populares como Microsoft e Mozilla. Mas o que isso tem a ver com o PHP?

Toda a base do WordPress é escrita em PHP. Muitos arquivos, temas, plugins e funções dessa ferramenta são em PHP.

Sendo assim, se você quer ser uma pessoa que desenvolve sites com WordPress, é essencial conhecer o PHP para aproveitar ao máximo o poder dessa ferramenta.

Aliando o PHP no Wordpress, você pode:

  • Modificar e personalizar temas;
  • Criar funcionalidades exclusivas através de plugins;
  • Otimizar o desempenho do seu site;
  • Automatizar tarefas recorrentes no WordPress.

PHP e Frameworks

Quando desenvolvemos projetos em PHP, podemos encontrar desafios ao lidar com o tempo de desenvolvimento e a manutenção conforme esses projetos crescem. É aí que entram os frameworks.

Frameworks são ferramentas que vão fornecer uma estrutura pré-construída para os nossos projetos PHP.

Eles incluem módulos, bibliotecas e alguns padrões que vão facilitar a organização da codificação.

É como se você recebesse uma base montada com o que precisa para criar sua aplicação e assim você pode se concentrar em escrever os códigos de forma mais objetiva, aproveitando os recursos oferecidos pelo framework.

Vamos entender quais são esses frameworks e quando vale a pena utilizá-los.

Quando usar um framework?

Independente da linguagem que usamos, é muito comum ficarmos com a dúvida: quando devo usar um framework?

Quando falamos de PHP, a resposta dessa questão deve observar dois pontos:

  1. Em que momento você está em termos de conhecimento?

O uso de frameworks é uma excelente forma de facilitar o desenvolvimento com PHP. Mas você já pode dizer que domina ao menos a base dessa linguagem sem o uso de recursos extras?

Caso contrário, ao usar um framework você pode acabar apenas admitindo aquilo que ele resolve para você como “mágica”.

É muito importante realmente conhecer a linguagem para extrair todo seu potencial e conseguir criar projetos com qualidade.

Ou seja, se você ainda sente insegurança com a linguagem, talvez seja bacana aprender mais antes de avançar para um framework.

Agora, se você se sente bem com a linguagem, vamos ao nosso segundo ponto de questionamento!

  1. O projeto que você pretende construir realmente demanda o uso de um framework?

Considere o projeto que você vai construir: ele precisa ser feito rapidamente? Você precisa que ele seja escalável? É um projeto mais complexo?

Se você respondeu que não, os frameworks podem ser desnecessários e acabarem dando mais trabalho do que trazendo benefícios.

Agora, se for construir um projeto um pouco mais complexo, talvez seja bacana usar algum framework para facilitar o processo e te entregar mais recursos.

Já sabemos quando usar um framework. Mas qual usar?

Laravel

Segundo a pesquisa The State of Developer Ecosystem 2023 de 2023, 61% dos desenvolvedores PHP costumam usar o Laravel como framework em seus projetos.

Isso acontece principalmente porque essa é uma ferramenta com uma curva de aprendizado amigável, uma documentação organizada, muitas ferramentas integradas e uma comunidade grande.

É comum que o Laravel seja usado em projetos menores como aplicações web de médio e grande porte, APIs RESTful e e-commerce.

Você pode aprender a fazer projetos PHP com Laravel na Formação Laravel: crie aplicações web em PHP.

Symfony

⁤De acordo com a mesma pesquisa, o Symfony fica em segundo lugar, com 21% dos usuários. ⁤⁤

Esse framework é mais robusto e modular, sendo muito utilizado para construir aplicações grandes e que precisam de escalabilidade, como grandes sistemas empresariais e SaaS, por exemplo.

⁤⁤O Symfony também tem uma boa documentação e tem um padrão de código bem organizado, o que ajuda quando precisamos lidar com projetos de alta performance.

Na Alura, temos a formação Symfony e Doctrine: crie aplicações web em PHP, caso você queira explorar o framework.

Outros frameworks

Além dos frameworks apresentados, você também pode explorar outros que existem, como o CakePHP, Laminas(Zend Framework), CodeIgniter entre outros.

Ferramentas PHP

Com a evolução do PHP e a comunidade muito engajada, o ecossistema dessa linguagem cresceu e permitiu que surgissem ferramentas para diversas finalidades, como frameworks, extensões, bibliotecas, ORMs, gerenciadores de pacotes e por aí vaí.

Para que você conheça melhor essas ferramentas, temos um episódio do Hipsters Ponto Tube em que o instrutor Vinicius Dias vai falar sobre o ecossistema PHP:

Como desenvolver boas práticas de programação?

Quando trabalhamos com programação, independente da linguagem, precisamos estar atentos não só ao funcionamento, mas também à qualidade do código que escrevemos.

Para isso, é essencial conhecer quais são as boas práticas de desenvolvimento. Nesse episódio do Hipsters Ponto Tube, o Fabio Akita explica como desenvolver boas práticas de programação:

Além disso, se você gostaria de conhecer as práticas recomendadas no desenvolvimento PHP, recomendo que se aprofunde nas PHP Standards Recommendations, mais conhecidas como PSRs, que são recomendações padrão do PHP para que existam padrões nos códigos desenvolvidos em PHP.

Ainda, aqui na Alura, também temos a Formação Boas práticas em PHP, que vai ensinar as melhores práticas do desenvolvimento de software utilizando o ecossistema do PHP. Vale muito a pena conferir.

Carreira e oportunidades com PHP

Por ser uma linguagem tão presente na web, o mercado está sempre em busca de devs PHP. No LinkedIn, por exemplo, existem muitas vagas PHP abertas. Podemos pesquisar com palavras chave como “PHP” ou Pessoa desenvolvedora “PHP”, que encontramos centenas de vagas para trabalhar com essa linguagem.

Mas antes, se seu objetivo é construir uma carreira PHP, saiba que é importante trilhar um caminho de aprendizado que inclua as habilidades necessárias para ser um bom profissional.

Para isso, recomendamos muito que você explore o TechGuide.sh, que é um mapeamento das principais tecnologias demandadas pelo mercado, com nossas sugestões de estudo para se especializar nelas. Você pode acessar o TechGuide de PHP aqui.

Por falar em se especializar, é interessante que você encontre um equilíbrio entre os conhecimentos generalistas e os de especialista. Não sabe do que estamos falando? O Diogo Pires esclarece mais sobre esse assunto no episódio “Dev em T: programação, carreira e tipos de perfil ”, do Hipsters Ponto Tube:

Se você quiser saber mais sobre como construir sua carreira nessa linguagem, assista ao “Guia de Carreira PHP”:

Conclusão

Nesse artigo, nós abordamos as principais características do PHP, sua história, ferramentas PHP, como começar a aprender a linguagem e muito mais.

E por falar em aprender, se você está buscando aprofundar seus conhecimentos em PHP, deixo aqui alguns conteúdos como sugestão para seus estudos:

Continue buscando conhecimento, até a próxima!

Rafaela Petelin Silvério
Rafaela Petelin Silvério

Sou graduanda em Sistemas de Informação e Técnica em Desenvolvimento de Sistemas pela ETEC, atuo como Monitora de Fórum, principalmente na área de Front-end. Sou apaixonada por tecnologia e busco sempre aprender coisas novas. Meus hobbies favoritos são ler, estudar novos idiomas e assistir séries de comédia.

Veja outros artigos sobre Programação