Introdução ao PHP Básico
- PHP - O que é? Para que serve? Onde e como é usado?
- O necessário para começar a programar em PHP
- Olá, Mundo! (Hello, World!) em PHP
- Saída simples: echo e print
4.1 Exercícios de saída simples - Tipos de dados do PHP
- Variáveis em PHP: $ e comando echo
- Matemática: Operadores Aritméticos de Soma, Subtração, Multiplicação, Divisão e Resto da Divisão em PHP
- Recebendo dados via input do HTML para o PHP
8.1 Calculadora simples - Precedência de operadores
- Comentar código PHP
- Exercícios Básicos de PHP
![]() |
| Estudar pela Apostila de PHP em PDF |
Testes Condicionais em PHP
- Operadores de Comparação
- O Comando IF - Teste Condicional
- Instrução IF ELSE - Controle de Fluxo
- IF e ELSE aninhados
- A instrução ELSEIF em PHP
- Comando SWITCH (break e default) em PHP
Exercício: PHP com formulário HTML <select>
Exercício: Como Achar os Dias do Mês com SWITCH em PHP - Como Usar Operadores Lógicos no PHP (&&, ||, AND, OR, XOR, !)
Exercício: Como Saber se um Ano é Bissexto (Algoritmo e Função Nativa) - Como Usar o Operador Ternário (?:) - IF/ELSE em 1 Linha
- Exercícios de Testes condicionais em PHP
Laços e Loopings em PHP
- Operadores de Atribuição em PHP
- Laço WHILE
- Laço DO WHILE
- Laço FOR: O looping controlado
- A diferença entre os laços WHILE e FOR
Exercício: Como fazer a tabuada em PHP - Comandos BREAK e CONTINUE
- Fibonacci com laços
- Fatorial com laços
- Números primos com laços
Funções
- Função - O que é? Para que serve? Como funciona?
- Como invocar e criar uma função
- Parâmetros, Argumentos e Retorno de uma função
- Passagem por Valor e por Referência
- Variável de escopo Global: global e $GLOBALS
- Como incluir arquivos PHP externos
- Função chamando função
- Funções recursivas: Recursividade em PHP
Exercício: Conversão Celsius Fahrenheit e vice-versa usando funções - Gerando números aleatórios com a função rand()
Exercício: Jogo de adivinhar o número - Lista de exercícios de funções em PHP
Array em PHP
- Arrays em PHP - O que é? Para que serve? Onde se usa ?
- Arrays em PHP - Como criar, acessar e exibir elementos
- Arrays associativos
- Função range() para arrays
- Foreach - Laço de arrays
- Funções de arrays
- Exercícios resolvidos de Arrays
Programação Orientada a Objetos
Data e Tempo em PHP
- Como checar se uma data é válida: checkdate()
- Como exibir datas e horários em PHP: função date()
- Função mktime() e a Unix Timestamp
- Função getdate() - Obtendo datas e horários em PHP
- Função gettimeofday() - Obtendo tempo atual
- Função time() e date() juntas
- Data e Hora em português: setlocale() e strftime()
- Última modificação de página: getlastmod()
- Números de dia em um mês qualquer
- Calculando datas no futuro e no passado: strotime()
- Classe DateTime: Data e Tempo com orientação a objetos
Tutoriais de PHP
Informações do navegador do cliente
Verifica se é HTTPs ou HTTP
Como redirecionar o usuário para outro site
Atrasar (congelar, bloquear) execução de script
Sobre o Curso PHP Progressivo
O curso PHP Progressivo faz parte de um projeto maior, o Programação Progressiva, que visa ensinar diversas linguagens de programação, de uma maneira integral, levando o estudando desde o mais básico absoluto, até um nível profissional.
O PHP Progressivo não deixa a desejar em absolutamente nada aos principais livros (tanto nacionais como internacionais) e cursos pagos do mercado. Pelo contrário, estudamos por diversas fontes, pesquisamos e visamos sempre fornecer o material mais completo e bem explicado possível.
Nosso conteúdo é repleto de grandes explicações, exemplos de códigos, códigos comentados, exercícios propostos, questões resolvidas, programas, sistemas, jogos e aplicações reais, usadas no dia-a-dia.
Todas nossas páginas são abertas a comentários, recebemos críticas, sugestões, erratas e estamos sempre incrementando nosso conteúdo.
Além disso, para acessar nosso curso, você não precisa pagar, cadastrar ou fazer absolutamente nada. Só entrar em nosso site e começar a estudar.
Apostila PHP Progressivo
Se desejar um conteúdo offline, em um PDF bem organizado, sem propagandas, com sumário e tudo feito para ser lido em computador, celular, tablet ou kindle, temos todo o conteúdo do site (e mais conteúdo adicional) em nossa apostila:
Livro PHP Progressivo
![]() |
| Adquirir livro PHP Progressivo |
Certificado do Curso PHP Progressivo
🚀 PRÓXIMAS ETAPAS: RUMO AO PHP PROFISSIONAL
Confira o cronograma dos próximos 180 artigos que serão publicados no Programação Progressiva.
- 01. Conexão com mysqli (Passo a passo)
- 02. Conexão com PDO (Guia Completo)
- 03. Diferença entre mysqli e PDO
- 04. PHP + MySQL no ambiente XAMPP
- 05. Criar Bancos e Tabelas via PHP
- 06. Inserir dados (INSERT)
- 07. Buscar e listar dados (SELECT)
- 08. Atualizar dados (UPDATE)
- 09. Deletar dados (DELETE)
- 10. CRUD Completo: O Guia Definitivo
- 11. Sistema de Paginação de resultados
- 12. Ordenação dinâmica (ORDER BY)
- 13. Filtros específicos com WHERE
- 14. Unindo tabelas com JOIN
- 15. Contar registros com COUNT
- 16. Sistema de Busca interna
- 17. ID do último registro inserido
- 18. Prepared Statements (Segurança)
- 19. Como evitar SQL Injection
- 20. Sistema de Favoritos com MySQL
- 21. Otimização de consultas SQL
- 22. Transações (Commit/Rollback)
- 23. Exportar MySQL para CSV/Excel
- 24. Sistema de Login do zero
- 25. Cadastro de Usuários com banco
- 26. Guia da variável $_SESSION
- 27. Manter logado entre páginas
- 28. Logout e destruição de sessão
- 29. Proteção de páginas restritas
- 30. Senhas com password_hash
- 31. Verificação com password_verify
- 32. "Lembrar de mim" com Cookies
- 33. Recuperar Senha por e-mail
- 34. Validação de login no banco
- 35. Como evitar Logins Duplicados
- 36. Limitar Tentativas (Brute Force)
- 37. Níveis de Acesso (Admin vs User)
- 38. Limpeza segura de sessões
- 39. Painel "Minha Conta" do usuário
- 40. Validação de formulários PHP
- 41. Sanitização com filter_input
- 42. Tratamento seguro de dados
- 43. Captura com $_POST e $_GET
- 44. Evitar Campos Vazios
- 45. Formulário de Contato completo
- 46. Envio de e-mail com mail()
- 47. E-mails com PHPMailer (SMTP)
- 48. Upload de Arquivos ($_FILES)
- 49. Validar extensão e tamanho
- 50. Configurar limites no php.ini
- 51. Renomear arquivos via código
- 52. Upload de Múltiplas Imagens
- 53. Envio sem recarregar (AJAX)
- 54. Validação de CPF e CNPJ
- 55. Máscaras dinâmicas (PHP/JS)
- 56. Checkbox e Radio em arrays
- 57. Ativar error_reporting
- 58. Erro "Undefined index/variable"
- 59. Erro "Headers already sent"
- 60. PHP parou no XAMPP: Solução
- 61. Diagnóstico de Tela Branca
- 62. Debug com var_dump e die
- 63. Erros de conexão MySQL comuns
- 64. Analisar Logs de Erro do Apache
- 65. Problemas de Sessão expirada
- 66. Permissões CHMOD em arquivos
- 67. PHP renderizando como texto
- 68. Guia Antiespionagem SQL Injection
- 69. Proteção definitiva contra XSS
- 70. Prevenção de Ataques CSRF
- 71. Validação pré-banco de dados
- 72. Bloqueio de Robôs (Captcha)
- 73. Escapar dados com htmlspecialchars
- 74. Melhores Práticas OWASP/PHP
- 75. Proteger pasta de Uploads
- 76. Ocultar erros em Produção
- 77. Proteção Brute Force Avançada
- 78. JSON em PHP (encode/decode)
- 79. Ler arquivos JSON externos
- 80. Consumir API com cURL
- 81. Requisições GET em APIs
- 82. Requisições POST para APIs
- 83. Criar API REST (JSON Output)
- 84. Headers HTTP para JSON
- 85. API de Clima e Moedas
- 86. Integração WhatsApp/Telegram
- 87. Tratar erros de API (404/500)
- 88. Autenticação por Bearer Token
- 89. Login com Níveis de Acesso
- 90. CRUD de Usuários com Foto
- 91. Sistema de Comentários Real
- 92. Blog com Painel de Controle
- 93. Galeria Dinâmica de Imagens
- 94. Cadastro de Produtos + Busca
- 95. Formulário Contato + Banco
- 96. To-Do List (Lista de Tarefas)
- 97. Sistema de Busca Inteligente
- 98. Dashboard Admin para Iniciantes
- 99. Encurtador de URLs Próprio
- 100. Sistema de Enquetes/Votação
- 101. Novidades do PHP 8.x
- 102. Expressão Match (Novo Switch)
- 103. Operador Null Coalescing (??)
- 104. Operador Nullsafe (?->)
- 105. Property Promotion no PHP 8
- 106. Named Arguments (Parâmetros)
- 107. Composer: Guia Completo
- 108. Autoload PSR-4 Profissional
- 109. Namespaces: Organização
- 110. Tipagem Estrita (strict_types)
- 111. Union Types no PHP 8
- 112. Arquitetura MVC: Model View Controller
- 113. MVC: Criando o projeto base
- 114. Classes Abstratas: Guia
- 115. Interfaces: Regras e Contratos
- 116. Abstração vs Interface
- 117. Traits: Reuso de código
- 118. Métodos Mágicos Avançados
- 119. Try...Catch e Exceptions
- 120. Bloco Finally no PHP
- 121. PHP em 2026: Vale a pena?
- 122. PHP vs JS vs Python
- 123. Salários Programador PHP
- 124. Conseguir o primeiro emprego
- 125. Guia PHP para Iniciantes
- 126. O que estudar depois do PHP?
- 127. Hospedagem e Deploy de Sites
- 128. Melhores IDEs/Editores
- 129. O que são Frameworks?
- 130. Laravel vs Symfony
- 131. Formatar Moeda Real (BRL)
- 132. Limpeza de Strings (trim)
- 133. Case: Maiúsculo/Minúsculo
- 134. Substituir textos (str_replace)
- 135. Dividir strings (explode)
- 136. Unir strings (implode)
- 137. Contar caracteres e palavras
- 138. Gerador de senhas aleatórias
- 139. Diferença entre datas (Idade)
- 140. Validar URLs com PHP
- 141. Gerar QR Codes nativamente
- 142. Criar PDFs a partir do HTML
- 143. Manipular Imagens (Redimensionar)
- 144. Detectar Idioma do Navegador
- 145. Capturar URL Atual
- 146. Procurar palavra em string
- 147. Gerador de Slugs (URLs amigáveis)
- 148. Limitar caracteres (Resumo)
- 149. Inverter Strings
- 150. Gerar hashes SHA256
- 151. Data por extenso (Português)
- 152. Contador de Visitas (.txt)
- 153. Descobrir IP Real do usuário
- 154. Verificador de Força de Senha
- 155. Sistema de Cache simples
- 156. Integridade de arquivos (MD5)
- 157. Ler Feed RSS/XML via PHP
- 158. Gerador automático de Sitemap
- 159. Bloqueio de IPs específicos
- 160. Modo Manutenção (Aviso)
- 161. Conversor de Medidas
- 162. Benchmark: Tempo de Script
- 163. Notificações Push Básicas
- 164. Log de atividades de usuário
- 165. Detectar Mobile vs PC
- 166. Forçar Download de Arquivos
- 167. Converter Data BR para USA
- 168. Cálculo de Descontos/Juros
- 169. Tabelas HTML via Arrays
- 170. Saudação Dinâmica (Horário)
- 171. Filtro de busca "as-you-type"
- 172. Integração com Google Maps
- 173. Validar Existência de E-mail
- 174. Mascarar e-mails (Segurança)
- 175. Cupom de Desconto simples
- 176. Simulação de Frete
- 177. Segundos para HH:MM:SS
- 178. Backup MySQL via PHP
- 179. Sistema "Quem está Online"
- 180. Conclusão: Guia Especialista
- 182. Erro "Undefined index": Como solucionar rápido
- 183. Como corrigir aviso "Undefined variable" no PHP
- 184. Erro de Conexão com MySQL no PHP (Soluções)
- 185. Erro "Call to undefined function": Como corrigir
- 186. Diagnóstico e solução do Erro 500 (Internal Server Error)
- 187. Tela Branca: Como ativar display_errors no PHP
- 188. Solução: Maximum execution time of 30 seconds exceeded
- 189. Solução: Allowed memory size of X bytes exhausted
- 190. O que é "Parse error: unexpected '}'" e como achar
- 191. Como resolver erro de encoding UTF-8 (Caracteres)
- 192. Erros de Include/Require: Caminhos quebrados
- 193. Corrigir CORS em API PHP (Access-Control-Allow-Origin)
- 194. Erro PDOException: Como ler e tratar falhas SQL
- 195. Solução: mysqli_fetch_assoc() expects parameter 1
- 196. Corrigir "Call to undefined function curl_init()"
- 197. Upload bloqueado: File upload stopped by extension
- 198. Solução: Post Content-Length exceeds the limit
- 199. Por que meu $_POST está vindo vazio? (Causas)
- 200. Como tratar exceções e evitar "erros silenciosos"
- 201. Como ler Logs de Erro do Apache e do PHP
- 202. Criar Sistema de Login e Cadastro (PHP + MySQL)
- 203. Como consumir uma API Externa usando cURL
- 204. Enviar E-mails com Anexo via PHPMailer (SMTP)
- 205. Como gerar PDF a partir do HTML (mPDF/DomPDF)
- 206. Como fazer Upload Múltiplo de imagens
- 207. Ler e importar planilhas Excel (.xlsx) para o MySQL
- 208. Exportar dados do MySQL para Excel formatado
- 209. Carrinho de Compras simples usando Sessões
- 210. Como fazer Paginação de milhares de resultados
- 211. Compactar pastas e criar arquivo .ZIP dinamicamente
- 212. Descompactar (extrair) arquivos .ZIP via código
- 213. Redimensionar imagens sem perder qualidade
- 214. Colocar Marca d'Água (Watermark) em uploads
- 215. Extrair apenas números de uma String (CPFs/Tel)
- 216. Pegar Lat/Long de um endereço via PHP
- 217. Criar Cron Job para executar scripts automáticos
- 218. Criptografar senhas corretamente (password_hash)
- 219. Fazer download forçado de arquivos ocultos
- 220. Criar sistema de Reset/Recuperação de Senha
- 221. Integrar PHP puro com chamadas AJAX (JS)
- 222. Como gerar QR Code PIX nativo (Sem APIs pagas)
- 223. Integrar a API do ChatGPT (OpenAI) via PHP
- 224. Calcular frete e prazo dos Correios nativamente
- 225. Integrar a API oficial do WhatsApp com PHP
- 226. Receber pagamentos via Mercado Pago (Checkout)
- 227. Integrar pagamento com cartão via API do Stripe
- 228. Integrar assinaturas e pagamentos com PayPal
- 229. Login Social com conta do Google em PHP
- 230. Ler e criar eventos no Google Calendar API
- 231. Listar vídeos de um canal via API do YouTube
- 232. Rastrear encomendas (Correios/China) via API
- 233. Criar e receber dados de Webhooks em PHP puro
- 234. Conectar aplicação PHP ao Firebase (Realtime)
- 235. Criar API RESTful segura e documentada (Swagger)
- 236. Autenticar API criada em PHP com JWT
- 237. SQL Injection: Como testar e se proteger 100%
- 238. XSS: Como evitar invasões via formulário e URL
- 239. Proteger formulários com Tokens CSRF do zero
- 240. Usar Prepared Statements (PDO) na vida real
- 241. Anti-DDoS básico: Limitar acessos por IP (Rate Limit)
- 242. Proteger Login contra ataques de Força Bruta
- 243. Validar, filtrar e sanitizar dados no Backend
- 244. Blindagem: Proteger a pasta de Upload de arquivos
- 245. Proteger Sessões contra Roubo (Session Hijacking)
- 246. Forçar redirecionamento HTTPS (SSL) via .htaccess
- 247. As 10 funções mais perigosas do PHP (Bloqueie já)
- 248. Armazenar chaves de API e senhas com segurança (.env)
- 249. Criar sistema de permissões de usuário (ACL) seguro
- 250. Usar Redis com PHP para cache de buscas MySQL
- 251. Usar Memcached com PHP para acelerar respostas
- 252. Configurar OPcache para turbinar aplicações
- 253. Salvar imagens no MySQL (BLOB) vs Pasta do Servidor
- 254. Como otimizar Queries SQL lentas no PHP
- 255. Evitar gargalos de "Loops N+1" com JOINs
- 256. Backup automático (Dump) do MySQL usando PHP
- 257. Aumentar limite de upload e memória no php.ini
- 258. Criar Websockets com PHP para Chats (Sem AJAX)
- 259. Trabalhar com múltiplos bancos no mesmo projeto
- 260. Transações SQL (Commit/Rollback) para dados financeiros
- 261. Lazy Loading de imagens e dados para economizar banda
- 262. Como escalar aplicações PHP horizontalmente
- 263. Criar Jobs e Filas (Queues) para envio de e-mails em massa
- 264. PHP vale a pena em 2026? (A verdade do mercado)
- 265. Node.js vs PHP: Qual escolher para APIs modernas?
- 266. PHP vs Python: Qual a melhor linguagem de Back-end?
- 267. Qual versão do PHP usar hoje? (PHP 7.4 vs 8.4)
- 268. Código Espaguete: 5 sinais de um código ultrapassado
- 269. O PHP é realmente lento comparado a outras linguagens?
- 270. Quanto ganha um Programador PHP? (Guia Salarial)
- 271. React no Front-end + PHP no Back-end: Como conectar?
- 272. Laravel vs PHP Puro: Quando parar de usar sem framework?
- 273. Qual Framework escolher: Laravel, CodeIgniter ou Symfony?
- 274. Como estruturar as pastas de um projeto PHP gigante
- 275. Aprender PHP apenas para WordPress vale a pena?
- 276. PHP vs Java: Qual tem mais mercado corporativo?
- 277. Hospedagem Compartilhada vs VPS: Onde hospedar?
- 278. Precificação Freela: Como cobrar por um sistema PHP?
- 279. Deploy profissional de PHP (Do Github para a Hospedagem)
- 280. Criando um Sistema de Login e Cadastro Completo
- 281. Construindo um Mini E-commerce do zero
- 282. Desenvolvendo um Blog Dinâmico com Painel Admin
- 283. Como criar uma API Rest Completa e segura
- 284. Criando um Dashboard (Painel Admin) com Gráficos
- 285. Construindo um Chat em Tempo Real para atendimento
- 286. Sistema de Agendamento (Barbearias/Clínicas)
- 287. Galeria com Upload e Recorte Múltiplo de Imagens
- 288. Montando seu próprio Sistema Financeiro/Pagamentos
- 289. Criando um Encurtador de URLs do absoluto zero
- 290. Desenvolvendo um Sistema de Avaliações/Estrelas
- 291. Como montar uma Rede Social Simples (Feed e Perfis)
- 292. Criando um Sistema de Votação/Enquetes com trava de IP
- 293. Gerador Dinâmico de Currículos em PDF com PHP
- 294. Criando um Sistema de Helpdesk (Abertura de Chamados)
- 295. Montando um Gerenciador de Arquivos (File Manager) via Web
🛠️ Módulo Extra: O "Pronto-Socorro" do PHP (Resolução de Erros)
Todo programador trava. Aqui ensinamos como ler e resolver os erros clássicos do servidor:
- Como resolver o erro "Headers already sent" no PHP (Passo a Passo)
- Erro "Allowed memory size of X bytes exhausted": Como aumentar o memory_limit
- Notice: Undefined index ou variable no PHP: O que é e como corrigir do jeito certo
- Fatal error: Uncaught Error: Call to undefined function (Entendendo o escopo)
- Por que acentos e caracteres especiais quebram no PHP? (Guia Definitivo de UTF-8)
🔐 Módulo de Segurança Avançada (Blindando seu Backend)
Aprenda as práticas obrigatórias para não ter seu banco de dados invadido ou vazado:
- O que é SQL Injection e como blindar seu sistema usando PDO e Prepared Statements
- Criptografia de senhas: Pare de usar MD5 e domine o password_hash() do PHP
- Como proteger seu formulário contra ataques XSS (Cross-Site Scripting)
- PHP Sessions vs Cookies: Como criar um sistema de "Lembrar-me" seguro
- Implementando CSRF Tokens em formulários para evitar requisições forjadas
Quer acesso imediato a todo esse conhecimento?
Não quer esperar as próximas atualizações do blog? Tenha todos os módulos, códigos prontos e exercícios práticos com gabarito na palma da sua mão. Estude offline no ônibus, no metrô ou no intervalo do trabalho, sem depender de conexão ou aturar anúncios.
Baixar Apostila Completa de PHP 🚀
🔌 Módulo de APIs, Integrações e Arquivos
O mercado exige sistemas que conversem entre si. É aqui que você se destaca no portfólio:
- Como consumir uma API RESTful com cURL no PHP (Exemplo prático com ViaCEP)
- Criando sua própria API com PHP Puro e retornando dados em JSON
- Como gerar relatórios e arquivos PDF dinâmicos em PHP (Usando mPDF e FPDF)
- Upload de múltiplas Imagens com PHP e AJAX (Sem recarregar a página)
- Lendo, manipulando e exportando planilhas do Excel (.xlsx e .csv) nativamente
- Enviando E-mails Autenticados com Anexos usando o PHPMailer (Fim da função mail)
🗄️ Módulo Master: Banco de Dados Dinâmicos com MySQL e PDO
O coração de todo grande sistema. Domine a persistência de dados de forma ágil:
O Arsenal Definitivo do Desenvolvedor de Elite
Aprender PHP é excelente, mas o profissional que domina a lógica em C, entende de Redes, Java e sabe estruturar front-end com HTML/CSS é o profissional que escolhe onde vai trabalhar. Acesse a nossa biblioteca completa e economize anos de estudos fragmentados.
🚀 Módulo Moderno: O Poder do PHP 8+ e Carreira Web
Entenda as novas sintaxes do mercado e saiba como se posicionar profissionalmente:
- Match Expression vs Switch Case: Como deixar o seu código elegante no PHP 8
- Tipagem forte no PHP: Como e por que declarar strict_types nos seus projetos
- PHP vs Node.js: Qual linguagem backend escolher para iniciar a carreira em 2026?
- Laravel ou Symfony? Qual framework PHP é mais exigido pelas empresas hoje
- Hospedagem Compartilhada, VPS ou Cloud AWS: Como colocar seu site PHP no ar



Nenhum comentário:
Postar um comentário