O guia completo para aprender PHP

Rocketseat

Conheça o Rocketseat Para Empresas
Oferecemos soluções personalizadas para empresas de todos os portes.
E aí, dev! Já imaginou criar sistemas web dinâmicos, robustos e escaláveis, daqueles que rodam em uma fatia gigantesca da internet – cerca de 75%, incluindo gigantes como WordPress e Magento? Se a resposta é sim, ou se você está buscando uma linguagem poderosa e com demanda no mercado para impulsionar sua carreira, então você chegou ao lugar certo. Bem-vindo ao universo do PHP!

Talvez você já tenha ouvido algum "meme" ou visto discussões sobre o PHP. Mas deixe a gente te contar um segredo: o PHP evoluiu muito. Esqueça as ideias antigas! Com as versões recentes (estamos falando de PHP 8 e além!), a linguagem ganhou uma performance incrível, recursos modernos e continua sendo uma excelente opção para desenvolvimento web. Se você quer aprender PHP, saiba que está investindo em uma habilidade com:
- Alta demanda no mercado: muitas empresas, de startups a gigantes, usam PHP.
- Curva de aprendizado acessível: é uma ótima porta de entrada para o backend, mesmo que você esteja começando.
- Excelente integração com bancos de dados: trabalhar com MySQL, PostgreSQL e outros é muito direto.
- Comunidade vibrante e ativa: recursos, bibliotecas e ajuda não faltam.
Este artigo é o seu guia, o mapa da mina para você navegar desde os fundamentos até conceitos mais avançados e começar a construir suas próprias aplicações web. Aqui na Rocketseat, nosso compromisso é transformar vidas através da educação em tecnologia, e queremos te guiar nessa jornada com a mesma paixão e foco prático que já impulsionou milhares de devs.
Ainda está com dúvidas sobre PHP? Assista ao vídeo, embora o vídeo tenha saído em 2024, ele traz insights valiosos que podem te ajudar a entender melhor essa linguagem:

Uma breve viagem no tempo: a história e evolução do PHP
Para entender o poder do PHP hoje, vale a pena conhecer um pouco da sua trajetória. Tudo começou lá em 1994, quando Rasmus Lerdorf criou um conjunto de scripts para gerenciar sua página pessoal – daí o nome original "Personal Home Page Tools". Mal sabia ele que estava plantando a semente de uma das linguagens mais influentes da web!
O PHP passou por marcos importantes:
- PHP 3 (1998): trouxe uma sintaxe mais parecida com a que conhecemos hoje e começou a ganhar popularidade.
- PHP 5 (2004): uma revolução! Introduziu um modelo de Orientação a Objetos (OOP) robusto, o PDO (PHP Data Objects) para acesso a bancos de dados e muitas outras melhorias. Foi um salto de maturidade.
- PHP 7 (2015): outro divisor de águas! O foco foi em performance, com a Zend Engine 3, entregando melhorias drásticas de velocidade (até 2x mais rápido que o PHP 5.6) e menor consumo de memória. Trouxe também tipagem escalar e de retorno.
- PHP 8+ (2020 em diante): a modernização continua a todo vapor! O PHP 8 trouxe o compilador JIT (Just-In-Time),
Attributes,Named Arguments, a expressãomatch,Union Typese muito mais, tornando a linguagem ainda mais expressiva, rápida e segura. O PHP 8.4, a versão mais recente até o momento (abril de 2025), continua refinando a linguagem.
Empresas gigantes como o Facebook (Meta) construíram partes cruciais de suas plataformas com PHP, inicialmente usando uma versão otimizada própria (o HHVM) e posteriormente retornando ao PHP oficial devido às evoluções significativas da linguagem. O WordPress, que domina amplamente o mercado de sistemas de gerenciamento de conteúdo (CMS) com aproximadamente 61,3% de participação segundo o relatório mais recente da W3Techs (abril de 2025), é inteiramente construído em PHP. Isso evidencia não apenas a resiliência e popularidade contínua da linguagem, mas também sua capacidade constante de se modernizar e atender às necessidades de projetos robustos e escaláveis. O PHP atual é rápido, moderno e, quando bem implementado, extremamente seguro.

Preparando o terreno: configurando seu ambiente de desenvolvimento PHP
Antes de escrever nossa primeira linha de código PHP, precisamos preparar nosso ambiente de desenvolvimento local. Basicamente, você precisará de três componentes principais:
- O Interpretador PHP: o "cérebro" que executa seu código.
- Um servidor web: como Apache ou Nginx, para processar as requisições HTTP e entregar suas páginas.
- Um banco de dados: geralmente MySQL ou PostgreSQL, para armazenar os dados da sua aplicação.
Parece complicado? Relaxa, existem ferramentas que facilitam muito esse processo!
Opção 1: pacotes "tudo-em-um" (ideal para iniciantes)
Ferramentas como XAMPP (multiplataforma), MAMP (macOS) ou Laragon (Windows) instalam e configuram automaticamente o Apache, PHP e MySQL (ou MariaDB) para você. É a forma mais rápida de começar.
- Como verificar: após instalar um desses pacotes e iniciar os serviços (Apache e MySQL), crie um arquivo chamado
info.phpna pasta raiz do seu servidor web (geralmentehtdocsno XAMPP ouwwwno Laragon/MAMP) com o seguinte conteúdo:PHP
<?php phpinfo(); ?>
Abra seu navegador e acesse
http://localhost/info.php. Se você vir uma página cheia de informações sobre a sua instalação do PHP, parabéns, está tudo pronto!Opção 2: Docker (abordagem moderna)
Se você já tem alguma familiaridade com desenvolvimento ou quer seguir uma abordagem mais profissional e isolada, o Docker é fantástico. Ele permite criar contêineres com ambientes específicos para cada projeto, garantindo consistência entre desenvolvimento e produção. A configuração inicial pode ser um pouco mais complexa, mas os benefícios a longo prazo são enormes.
Opção 3: servidor embutido do PHP (para testes rápidos)
Para scripts simples ou testes rápidos, o próprio PHP oferece um servidor web embutido. Navegue até a pasta do seu projeto pelo terminal e execute:
php -S localhost:8000
Isso iniciará um servidor na porta 8000, servindo os arquivos da pasta atual. Simples e direto!
Editor de código:
Para escrever seu código PHP, recomendamos o Visual Studio Code (VSCode). Ele é gratuito, poderoso e tem uma comunidade imensa criando extensões úteis. Algumas indispensáveis para PHP:
- PHP Intelephense: autocomplete inteligente, análise de código e muito mais.
- PHP Debug: permite depurar seu código passo a passo diretamente no editor.
- Prettier - Code formatter: para manter seu código formatado e padronizado (funciona bem com plugins PHP).
Com o ambiente configurado, estamos prontos para colocar a mão na massa! Se algo deu errado, fique tranquilo(a), no universo da programação, se deparar com erros é completamente normal, se algo aconteceu, recomendo que visite esse artigo: Como configurar ambiente PHP.
E agora? Bora decolar com PHP?

Os alicerces: fundamentos essenciais da linguagem PHP
Vamos começar construindo a base. Assim como em qualquer linguagem, o PHP tem sua própria sintaxe e conceitos fundamentais que você precisa dominar.
1. Sintaxe básica e tags PHP
O código PHP é geralmente embutido em arquivos HTML. Para indicar ao servidor que um trecho de código deve ser interpretado como PHP, usamos as tags
<?php e ?>.<!DOCTYPE html> <html> <head> <title>Aprendendo PHP na Rocketseat</title> </head> <body> <h1> <?php // Isso é um comentário de linha única /* Isso é um comentário de múltiplas linhas */ echo "Decole com PHP!"; // 'echo' exibe texto na página ?> </h1> <p>Meu primeiro script PHP.</p> <?php print "<p>Print também funciona!</p>"; // 'print' é similar a 'echo' ?> </body> </html>
2. Variáveis
Variáveis em PHP armazenam dados que podem ser usados e modificados ao longo do script. Elas sempre começam com um cifrão (
$) seguido pelo nome.- Nomes de variáveis são case-sensitive (
$nomeé diferente de$Nome).
- Devem começar com letra ou underscore (
_), seguido por letras, números ou underscores.
<?php $saudacao = "Olá, Dev!"; // String $ano = 2025; // Integer $versaoPHP = 8.3; // Float (ou Double) $aprendendo = true; // Boolean $modulos = null; // NULL (sem valor) echo $saudacao; // Exibe "Olá, Dev!" echo "<br>"; // Quebra de linha HTML echo "Estamos no ano de $ano"; // Interpolação com aspas duplas echo 'Estamos no ano de ' . $ano; // Concatenação com ponto ?>
3. Tipos de dados
PHP é uma linguagem de tipagem dinâmica (embora suporte tipagem estrita desde o PHP 7), o que significa que você não precisa declarar o tipo de uma variável explicitamente. Os principais tipos são:
string: sequência de caracteres ("Olá",'Rocketseat'). Aspas duplas interpretam variáveis internas ("$saudacao"), aspas simples não.
integer: números inteiros (10,5,2025).
float(oudouble): números com ponto flutuante (3.14,8.3).
boolean: representa valores verdadeiro (true) ou falso (false).
array: coleção ordenada de valores. Pode conter diferentes tipos de dados.
object: instância de uma classe (veremos mais sobre OOP).
NULL: representa uma variável sem valor.
Para investigar o tipo e o valor de uma variável, a função
var_dump() é sua melhor amiga:<?php $nome = "Laís"; $idade = 28; $hobbies = ["Programar", "Ler", "Café"]; $empresa = null; var_dump($nome); // string(4) "Laís" echo "<br>"; var_dump($idade); // int(28) echo "<br>"; var_dump($hobbies); // array(3) { [0]=> string(9) "Programar" [1]=> string(3) "Ler" [2]=> string(5) "Café" } echo "<br>"; var_dump($empresa); // NULL ?>
4. Constantes
São valores que não mudam durante a execução do script. Definidas com
define() (tradicional) ou const (a partir do PHP 5.3, geralmente dentro de classes ou namespaces).<?php define("EMPRESA", "Rocketseat"); const VERSAO_ATUAL = 1.0; echo EMPRESA; // Rocketseat echo "<br>"; echo VERSAO_ATUAL; // 1.0 ?>
5. Operadores
Permitem realizar operações com variáveis:
- Aritméticos:
+(soma),-(subtração),*(multiplicação),/(divisão),%(módulo - resto da divisão).
- Atribuição:
=(atribui valor),+=(soma e atribui),-=(subtrai e atribui),*=(multiplica e atribui),/=(divide e atribui),.=(concatena e atribui).
- Comparação:
==(igual),===(identico - valor e tipo),!=ou<>(diferente),!==(não idêntico),>,<,>=,<=.
- Lógicos:
&&ouand(E),||ouor(OU),!(NÃO).
- Incremento/Decremento:
++$var,$var++,-$var,$var--.
<?php $num1 = 10; $num2 = 5; $soma = $num1 + $num2; // 15 $idade = 18; $podeDirigir = ($idade >= 18); // true $temLogin = true; $temPermissao = false; $podeAcessar = $temLogin && $temPermissao; // false ?>
Dominar operadores e como eles interagem com variáveis e tipos de dados é a chave para construir lógicas mais complexas. Quer ver como aplicar isso na prática? Confira nosso artigo sobre como resolver Problemas Clássicos de Lógica com PHP.
Com esses fundamentos, você já pode começar a escrever scripts simples! O próximo passo é aprender a controlar o fluxo do seu código e a reutilizar tarefas com estruturas de controle e funções.
Controlando o fluxo e reutilizando código: estruturas de controle e funções
Agora que conhecemos os blocos básicos, vamos aprender a controlar como nosso código executa (tomar decisões e repetir tarefas) e como evitar repetições, organizando nossa lógica em blocos reutilizáveis.
1. Estruturas condicionais
Permitem que seu programa tome decisões com base em condições. Essenciais para criar lógicas flexíveis.
if,elseif,else: a estrutura mais comum. Executa blocos de código diferentes dependendo se uma condição é verdadeira ou falsa.
<?php $nota = 7.5; $nomeAluno = "Diego"; if ($nota >= 7.0) { echo "$nomeAluno, você foi aprovado!"; } elseif ($nota >= 5.0) { echo "$nomeAluno, você está de recuperação."; } else { echo "$nomeAluno, você foi reprovado."; } ?>
switch: útil quando você precisa comparar uma variável com múltiplos valores específicos. Muitas vezes mais legível que vários elseif encadeados para o mesmo tipo de comparação.<?php $statusPedido = "processando"; switch ($statusPedido) { case "pendente": echo "Seu pedido está aguardando pagamento."; break; // Importante! Sai do switch case "processando": echo "Seu pedido está sendo preparado para envio."; break; case "enviado": echo "Seu pedido foi enviado!"; break; default: echo "Status do pedido desconhecido."; } ?>
Operador ternário: uma forma concisa de escrever um
if/else simples, ótimo para atribuições condicionais. (condição) ? valor_se_verdadeiro : valor_se_falso;<?php $idade = 20; $mensagem = ($idade >= 18) ? "Maior de idade" : "Menor de idade"; echo $mensagem; // Maior de idade ?>
2. Estruturas de repetição (loops)
Usadas para executar um bloco de código várias vezes, seja um número definido de vezes ou enquanto uma condição for atendida. Indispensáveis para processar listas de dados, por exemplo.
for: ideal quando você sabe exatamente quantas vezes quer repetir o bloco. Controla a inicialização, condição e incremento/decremento em uma única linha.
<?php // Exibe os números de 1 a 5 for ($i = 1; $i <= 5; $i++) { echo "Número: " . $i . "<br>"; } ?>
while: repete um bloco de código enquanto uma condição especificada for verdadeira. A condição é verificada antes de cada iteração.<?php $contador = 0; while ($contador < 3) { echo "Contador while: " . $contador . "<br>"; $contador++; } ?>
do-while: similar ao while, mas com uma diferença crucial: garante que o bloco de código execute pelo menos uma vez, pois a condição é verificada depois da iteração.<?php $tentativa = 0; $conectou = false; // Simula que não conectou ainda do { echo "Tentando conexão... (tentativa " . ++$tentativa . ")<br>"; // Lógica de conexão aqui... if ($tentativa == 2) { // Simula sucesso na 2ª tentativa $conectou = true; echo "Conectado!<br>"; } } while (!$conectou && $tentativa < 3); if (!$conectou) { echo "Falha ao conectar após $tentativa tentativas.<br>"; } ?>
foreach: a forma mais elegante e prática de iterar sobre os elementos de um array (ou propriedades de um objeto iterável). Abstrai o controle de índices ou ponteiros.<?php $cursos = ["PHP", "Laravel", "React", "Node.js"]; echo "Cursos da Rocketseat:<br>"; foreach ($cursos as $curso) { // Itera sobre os valores echo "- " . htmlspecialchars($curso) . "<br>"; // Boa prática escapar output } $instrutores = ["PHP" => "Mayk", "React" => "Diego", "Node.js" => "Rodrigo"]; echo "<br>Instrutores:<br>"; foreach ($instrutores as $tecnologia => $nome) { // Itera sobre chave e valor echo "- " . htmlspecialchars($tecnologia) . ": " . htmlspecialchars($nome) . "<br>"; } ?>
3. Funções
Funções são blocos de código nomeados que realizam uma tarefa específica. Elas são a base da reutilização e organização em PHP (e em muitas outras linguagens). Ao invés de repetir o mesmo trecho de código várias vezes, você o encapsula em uma função e a chama sempre que precisar. Isso segue o princípio DRY (Don't Repeat Yourself - Não se Repita).
- Definindo e chamando funções: a sintaxe é simples, usando a palavra-chave
function.
Conheça o Rocketseat Para Empresas
Oferecemos soluções personalizadas para empresas de todos os portes.
Artigos_
Explore conteúdos relacionados
Descubra mais artigos que complementam seu aprendizado e expandem seu conhecimento.
NewsletterReceba conteúdos inéditos e novidades gratuitamente