Curso PHP Progressivo

 Curso Completo, Online e Gratuito

Siga os tutoriais na ordem cronológica abaixo para dominar o PHP do zero ao nível profissional. Este sumário foi estruturado em módulos lógicos para facilitar o seu aprendizado técnico.

Estude Offline e Sem Anúncios!

"Estava completamente travado nos laços e funções da faculdade. A didática estruturada dessa apostila salvou meu semestre e garantiu minha aprovação!" — Lucas R., Aluno de ADS

Tenha acesso imediato a todo o ecossistema do curso em um arquivo PDF premium, otimizado para Kindle, tablets e computadores, contendo dezenas de exercícios exclusivos com gabarito.

Baixar Apostila Completa em PDF
Apostila completa de PHP para download

Módulo 4: Modularização com Funções

  1. Funções - O que são, para que servem e arquitetura de código
  2. Como criar, invocar e gerenciar escopo de funções
  3. Manipulação de parâmetros, argumentos e a declaração de retorno (return)
  4. Diferença de Memória: Passagem por Valor vs Passagem por Referência
  5. Gerenciamento de Escopo Global: Comando global e a superglobal $GLOBALS
  6. Inclusão Arquitetural de Arquivos: include, require, include_once e require_once
  7. Encadeamento de rotinas: Função chamando outra função
  8. Funções Recursivas: Entendendo a Recursividade profunda
  9. Sorteios Computacionais: Gerando números aleatórios com a função rand()
  10. Lista de Exercícios Práticos sobre Funções e Escopos
Mega Pack de Apostilas Projeto Progressivo

O Combo de Ouro do Programador Full-Stack

Quer dominar o desenvolvimento de sistemas de ponta a ponta? Leve o Mega Pack Econômico contendo todas as nossas 7 apostilas premium (PHP, HTML, CSS, JavaScript, C, C++ e Java).

Um material com sequência didática proprietária livre de distrações e focado nas demandas de contratação das maiores empresas de tecnologia do país.

Garantir Meu Mega Pack Com Desconto

Módulo 7: Manipulação de Data, Tempo e Strings

  1. Consistência de Calendários: Como checar se uma data é válida com checkdate()
  2. Formatação Avançada de Datas e Horários do Servidor via função date()
  3. Histórico do Sistema: A função mktime() e o funcionamento da Unix Timestamp
  4. Desestruturação Temporal: Obtendo arrays associativos de datas com getdate()
  5. Performance de Código: Medindo tempo de execução com gettimeofday()
  6. Aplicações Reais: Usando as funções time() e date() de forma combinada
  7. Localização de Software: Datas em Português usando setlocale() e strftime()
  8. Metadados de Auditoria: Capturando a última modificação de página com getlastmod()
  9. Cálculo Dinâmico de Dias contidos em um Mês qualquer
  10. Matemática Temporal: Calculando datas no futuro e no passado com strtotime()
  11. Data e Tempo profissional usando a Classe Nativa DateTime do PHP

Conquiste Sua Certificação Profissional

Se o seu objetivo final é sair do limbo do desemprego, conseguir o primeiro estágio ou uma vaga efetiva como Desenvolvedor Back-End, comprove suas habilidades técnicas com a nossa certificação oficial do Curso PHP Progressivo.

O documento é ideal para enriquecer o currículo, pontuar em horas complementares da faculdade e se destacar nos processos de recrutamento.

Emitir Meu Certificado do Curso
Curso de PHP com certificado

Sobre o Curso PHP Progressivo

O curso PHP Progressivo faz parte de um ecossistema educacional maior, o portal Programação Progressiva, que visa democratizar o ensino de tecnologia de ponta no Brasil, levando o estudante desde o mais básico absoluto até a qualificação exigida no mercado corporativo real.

Nosso material técnico não deixa a desejar em absolutamente nada aos principais livros tradicionais e bootcamps pagos do mercado internacional. Pesquisamos e validamos cada artigo para fornecer rotinas completas, códigos explicados linha a linha, algoritmos lógicos aplicados e sistemas prontos para produção.

Estude Também por Nossos Materiais Físicos

Para quem prefere o toque do papel e quer estudar longe das distrações das telas digitais, disponibilizamos o mesmo material didático premium em formato de livro impresso profissional de alta qualidade:

🚀 PRÓXIMAS ETAPAS: RUMO AO PHP PROFISSIONAL

Confira o cronograma dos próximos artigos que serão publicados no PHP Progressivo.

📦 PHP + MySQL (Banco de Dados Profissional)
  • 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
🔐 Sistema de Login e Autenticação
  • 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
📩 Formulários e Manipulação de Dados
  • 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
⚠️ Resolução de Erros e Problemas
  • 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
🛡️ Segurança e Proteção de Sistemas
  • 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
🌐 APIs e Manipulação de JSON
  • 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
🧪 Projetos Práticos (Portfólio)
  • 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
🚀 PHP 8+ e Arquitetura Profissional
  • 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
📈 Carreira, Mercado e SEO
  • 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
🛠️ Utilidades e Manipulação de Texto
  • 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
📦 Scripts Prontos e Miscelânea
  • 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
🚨 Resolução de Erros (O Tráfego do "Dev Desesperado")
  • 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
🚀 Como Fazer e Scripts Prontos (A Máfia do "Copia e Cola")
  • 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)
💸 APIs e Integrações (O Tráfego "Freelancer B2B")
  • 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
🔒 Segurança Avançada (Autoridade e Confiança)
  • 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
🗄️ Banco de Dados e Performance (Nível Sênior)
  • 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
🤔 Dúvidas, Mercado e Carreira (Topo de Funil)
  • 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)
🧪 Projetos Práticos (Retenção e Engajamento)
  • 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.

Apostila PHP Progressivo
Baixar Apostila Completa de PHP 🚀






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.

Todas as Apostilas de Programação Mega Pack


Nenhum comentário: