PHP para iniciantes: como começar com esta linguagem?

  • Autor Autor h1n1
  • Data de início Data de início
Este tópico foi traduzido automaticamente do espanhol. Ver original
H

h1n1

Eta
Verificación en dos pasos activada
Usuário com poucas negociações! Use sempre o saldo do ForoBeta!
PHP é uma linguagem de programação projetada principalmente para o desenvolvimento web. Ela é executada no lado do servidor, o que significa que processa a informação antes que a página chegue ao navegador do usuário. É uma ferramenta chave para criar páginas web dinâmicas, como lojas online, blogs e fóruns.



Características chave​



  • Código de servidor: O código PHP é executado em um servidor web e gera HTML, que depois é enviado ao navegador do cliente. Isso o diferencia de linguagens como JavaScript, que são executadas diretamente no navegador.
  • Código embutido: O código PHP pode ser inserido diretamente dentro de um arquivo HTML, o que facilita combinar a lógica do servidor com o design da página.
  • Multiplataforma: PHP pode ser usado na maioria dos sistemas operacionais (Windows, Linux, macOS) e é compatível com os servidores web mais comuns (Apache, Nginx).
  • Bancos de dados: É muito popular para interagir com bancos de dados como MySQL, o que é essencial para sites que precisam armazenar dados de usuários ou produtos.



Exemplo de código: Saudação simples​



Este exemplo mostra como embutir código PHP em um arquivo HTML para mostrar uma mensagem.

PHP

&lt;!DOCTYPE html&gt;<br>&lt;html&gt;<br>&lt;head&gt;<br> &lt;title&gt;Exemplo PHP&lt;/title&gt;<br>&lt;/head&gt;<br>&lt;body&gt;<br><br> &lt;h1&gt;Minha primeira página com PHP&lt;/h1&gt;<br><br> <span>&lt;?php</span><br> <span>// Isto é um comentário em PHP.</span><br> <span>$saludo</span> = <span>"¡Hola, mundo!"</span>; <span>// Declara uma variável.</span><br> <span>echo</span> <span>$saludo</span>; <span>// Imprime o conteúdo da variável.</span><br> <span>?&gt;</span><br><br>&lt;/body&gt;<br>&lt;/html&gt;<br>
Explicação:

O código PHP está dentro das tags <?php e ?>.

  • $saludo = "¡Hola, mundo!";: Define uma variável chamada $saludo e lhe atribui um valor de texto. Em PHP, as variáveis sempre começam com o sinal de cifrão ($).
  • echo $saludo;: É uma instrução que imprime o valor da variável $saludo na página web.



Exemplo de código: Processar um formulário​



Este código mostra como PHP pode receber e processar dados enviados de um formulário web.

HTML

<span>&lt;<span>form</span> <span>action</span>=<span>"saludo.php"</span> <span>method</span>=<span>"post"</span>&gt;</span><br> <span>&lt;<span>label</span> <span>for</span>=<span>"nombre"</span>&gt;</span>Introduza seu nome:<span>&lt;/<span>label</span>&gt;</span><span>&lt;<span>br</span>&gt;</span><br> <span>&lt;<span>input</span> <span>type</span>=<span>"text"</span> <span>id</span>=<span>"nombre"</span> <span>name</span>=<span>"nombre"</span>&gt;</span><span>&lt;<span>br</span>&gt;</span><span>&lt;<span>br</span>&gt;</span><br> <span>&lt;<span>input</span> <span>type</span>=<span>"submit"</span> <span>value</span>=<span>"Enviar"</span>&gt;</span><br><span>&lt;/<span>form</span>&gt;</span><br>
Este formulário envia o dado nombre para um arquivo chamado saludo.php.

PHP

&lt;!DOCTYPE html&gt;<br>&lt;html&gt;<br>&lt;head&gt;<br> &lt;title&gt;Saudação&lt;/title&gt;<br>&lt;/head&gt;<br>&lt;body&gt;<br> <span>&lt;?php</span><br> <span>// Verifica se o dado 'nombre' foi enviado</span><br> <span>if</span> (<span>isset</span>(<span>$_POST</span>[<span>"nombre"</span>])) {<br> <span>$nombre</span> = <span>$_POST</span>[<span>"nombre"</span>];<br> <span>echo</span> <span>"&lt;h1&gt;¡Hola, "</span> . htmlspecialchars(<span>$nombre</span>) . <span>"!&lt;/h1&gt;"</span>;<br> } <span>else</span> {<br> <span>echo</span> <span>"&lt;h1&gt;Nenhum nome foi enviado.&lt;/h1&gt;"</span>;<br> }<br> <span>?&gt;</span><br>&lt;/body&gt;<br>&lt;/html&gt;<br>
Explicação:

  • $_POST["nombre"]: É uma variável especial de PHP (um array) que contém os dados enviados pelo formulário. $_POST é usado porque o formulário tem method="post".
  • if (isset($_POST["nombre"])): Verifica se a variável com o nome do formulário ($_POST["nombre"]) existe. Isso evita erros se alguém tentar acessar a página sem usar o formulário.
  • echo "¡Hola, " . htmlspecialchars($nombre) . "!": Imprime a saudação. O ponto (.) é usado para concatenar (unir) o texto com o valor da variável. A função htmlspecialchars é usada por segurança para evitar a injeção de código malicioso.
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
Excelente introdução ao PHP! Você cobriu as características fundamentais e exemplos práticos muito bem. Isso será de grande ajuda para quem está começando no desenvolvimento web. Continue compartilhando mais conteúdo assim!
 
Olá a todos!

Queria ampliar uma ideia que frequentemente é ignorada quando se começa com PHP e que é fundamental para tirar o máximo proveito: entender seu modelo de execução Request/Response (Requisição/Resposta) e como funciona seu motor interno. Não é apenas escrever código, mas compreender como o PHP o executa.



O Modelo Clássico de PHP: Requisição e Resposta (Request/Response)

Para os que vêm de outras linguagens ou estão começando, é crucial entender que o PHP, em sua forma mais tradicional (especialmente com Apache ou Nginx + PHP-FPM), opera sob um modelo "share-nothing" ou de vida curta.

O que isso significa? Imagine que o PHP é um funcionário muito eficiente, mas com amnésia de curto prazo.

  1. Chega uma requisição (Request): Um usuário visita sua página index.php. O servidor web (como o Apache) percebe e passa o trabalho para o interpretador do PHP.
  2. O PHP "acorda": Inicia-se um processo de PHP completamente novo. Este processo lê seu script, inicializa variáveis, conecta-se ao banco de dados, executa a lógica e gera uma página HTML como resultado.
  3. Envia a resposta (Response): Uma vez que o HTML está pronto, o PHP o devolve ao servidor web, que por sua vez o envia ao navegador do usuário.
  4. O PHP "esquece" tudo: Aqui está a chave. Uma vez entregue a resposta, o processo do PHP termina. Libera toda a memória, fecha as conexões e "esquece" tudo o que acabou de fazer.
Este ciclo se repete com cada requisição. Se 100 usuários visitarem a página, 100 ciclos independentes são executados.

Por que é importante saber isso?
  • Isolamento: Cada requisição é independente. Um erro em uma não afeta as outras.
  • Simplicidade: É um modelo fácil de entender e depurar. Não é preciso se preocupar em gerenciar estados complexos ou vazamentos de memória entre requisições.
  • Desempenho: Para muitas aplicações web, este modelo é incrivelmente rápido e eficiente, já que não acumula recursos.
Este funcionamento é muito diferente do de ambientes como Node.js, onde a aplicação é um processo de longa duração. O Node.js inicia uma vez, carrega tudo na memória e permanece ativo, gerenciando múltiplas requisições de forma assíncrona dentro desse mesmo processo.




Por Que Você Deveria Entender o Motor do PHP (Zend Engine)?​



Saber que o PHP funciona assim te ajuda a escrever um código melhor. Compreender, mesmo que em um nível básico, como o Zend Engine (o coração do PHP) compila seu script para "Opcodes" e os executa, te dá uma vantagem para:

  • Otimizar o desempenho: Você entenderá por que certas práticas são mais rápidas que outras.
  • Gerenciar recursos: Você será mais consciente de como e quando abrir conexões com bancos de dados ou arquivos.
  • Apreciar ferramentas como OPcache: O OPcache guarda os "Opcodes" pré-compilados na memória, evitando que o PHP tenha que traduzir o mesmo script repetidamente a cada requisição, o que dispara o desempenho.


Levando o PHP ao Próximo Nível: Servidores de Aplicação​


Agora, isso significa que o PHP está "preso" neste modelo? De jeito nenhum!

Aqui é onde entram em jogo ferramentas modernas e extensões que transformam o PHP em um servidor de aplicação de alto desempenho, similar ao Node.js ou Go. Projetos como Swoole, RoadRunner ou ReactPHP mudam as regras do jogo.

Estas extensões permitem que o PHP:

  • Seja executado como um processo persistente: Sua aplicação inicia uma vez e permanece rodando na memória.
  • Gerencie concorrência real: Pode gerenciar milhares de conexões simultâneas de forma assíncrona e eficiente.
  • Controle o estado do servidor: Permite compartilhar dados entre requisições (pools de conexões com BD, caches em memória, etc.) e construir aplicações em tempo real como chats, jogos ou notificações push.
Basicamente, estas ferramentas dão superpoderes ao PHP, permitindo que ele entre em terrenos onde antes outras linguagens dominavam, mas mantendo a sintaxe e o ecossistema que já conhecemos.



Em Resumo​


Para qualquer iniciante em PHP, meu conselho é:

  1. Domine o modelo Request/Response: É a base de tudo e você precisará dela em 90% dos projetos.
  2. Seja curioso sobre o motor interno: Você não precisa ser um especialista, mas entender os conceitos básicos te tornará um programador melhor.
  3. Explore o futuro: Quando se sentir confortável, dê uma olhada em ferramentas como Swoole ou RoadRunner. Elas te mostrarão um potencial do PHP que talvez você não imaginasse.
Espero que esta explicação mais detalhada ajude a esclarecer estes conceitos. Abro o debate para que compartilhemos mais ideias!
 
Vou marcar este tópico, parece interessante.
 
É uma ideia muito boa aprender PHP nestes tempos, ou seja, o Wordpress ainda continua dominando e aprender a gerenciar servidores e manipulação de dados para o âmbito web ainda funciona maravilhosamente bem. Se já tiverem uma introdução avançada à linguagem, podem tentar aprender POO (programação orientada a objetos), com isso poderão fazer maravilhas na web.
 
Bom, chego um pouco tarde a este tópico (peço desculpas antecipadamente). Aprendi PHP há pouco mais de 20 anos quando o ASP ficou insuficiente para o que eu precisava fazer e acho que me saí muito bem.

Atualmente continuo trabalhando com PHP, pois me dedico a desenvolver sistemas nesta linguagem, além de trabalhar com Wordpress e, como foi mencionado, é a base para montar sites na internet facilmente, então sou muito grato pela existência desta linguagem.
 
Você tem algum canal para aprender desde 0 essa linguagem de programação
 
Por que você prefere usar apenas PHP? Node.js também é uma linguagem moderna e de grande sucesso.
 
Por que você prefere usar apenas PHP? Node.js também é uma linguagem moderna e de grande sucesso.
Na verdade, Node.js não é uma linguagem, é um ambiente de execução (runtime) para JavaScript. Também existem outros runtimes como Bun, Deno, etc.

A comparação mais correta seria PHP vs JavaScript no servidor (Node, Bun, Deno). E como extra seria comparar versões, já que ambas as linguagens deram saltos grandes nesta última década, embora o PHP como linguagem seja quem deu o maior avanço; em contrapartida, o JavaScript teve contribuições que chegaram a cobrir falhas, JSDOC, TypeScript, tools, etc.

Escolher PHP pode depender de vários fatores: o ecossistema, o desempenho em certo tipo de aplicações, sua experiência prévia (por exemplo com WordPress), o tooling, entre outros. Não é que Node.js/Bun/Deno não sejam válidos; ambos têm casos de uso onde se destacam e sempre é bom avaliar conforme o contexto.

No meu caso particular:
  • Monto projetos PHP simples (PWAs com lógica ou segurança básica) que muitas vezes são implantados em hospedagem gratuita
  • PHP é uma linguagem que domino bastante, me sinto confortável com ela
  • Tenho várias bibliotecas próprias em torno do PHP que facilitam o desenvolvimento
Por outro lado, o Bun deu um chute na porta:
  • Instalação multiplataforma com uma única linha de código
  • Suporte nativo para TypeScript (melhor autocompletar e experiência em IDEs)
  • Originalmente estava escrito em Zig, mas recentemente (maio de 2026) foi reescrito experimentalmente em Rust, ajudado fortemente por IA (Claude Code da Anthropic, que agora é dona do Bun)
  • A reescrita passou 99.8% do test suite e foi merged no main em maio de 2026
Em resumo:
Todas as linguagens compartilham conceitos fundamentais, mas o importante é entender as particularidades de cada uma e o que elas trazem. Por exemplo, em projetos assistidos por IA ou "vibe-coding", costuma haver melhores resultados com Node (Next.js, React) porque o treinamento das grandes corporações consistiu principalmente em projetos de React, Python, etc.
 
Depende do que você precisa fazer, não testei node, esclareço, mas eu comecei com asp no início dos anos 2000 e estava muito bom para criar sites interativos até que me deparei com a necessidade de usar bancos de dados. Em local funcionava bem (naquela época com access), mas para subir a um servidor, todos sem exceção cobravam para usar o objeto de db profissional e também não me serviu simplesmente subir o mdb.

Então, por muito tempo trabalhei com arquivos de texto para coisas simples; com o tempo, o asp ficou curto porque não me servia para coisas complexas que, com um banco de dados, se resolvem de uma maneira muito simples; também não havia funcionalidade nativa para subir arquivos a não ser que você pagasse (de novo) pelo objeto para subir arquivos.

Eu mudei para php, comecei com servidores gratuitos e sempre tive mysql e a funcionalidade de subir arquivos (com limitações de tamanho, claro), então estou mais que satisfeito com php. Não digo que não possam existir alternativas melhores, mas para as minhas necessidades, o php está mais que excelente.
 
Eu adoro php, embora sinceramente já não lembre por que gostava tanto, já quase não programo, suponho que era uma linguagem simples de aprender parecida com C++, uma coisa, você pode colocar o código dentro da etiqueta do fórum Code
Inserir CODE, HTML ou PHP:
<?php echo "hola que tal"; ?>
 
Eu adoro php, embora sinceramente já não lembre por que gostava tanto, já quase não programo, suponho que era uma linguagem simples de aprender parecida com C++, uma coisa, você pode colocar o código dentro da etiqueta do fórum Code
Inserir CODE, HTML ou PHP:
<?php echo "hola que tal"; ?

edito: não deveria ficar assim, falta algo
 
Voltar
Topo