Curso PHP Progressivo

Siga os seguintes tutoriais na ordem:

Introdução ao PHP Básico

  1. PHP - O que é? Para que serve? Onde e como é usado?
  2. O necessário para começar a programar em PHP
  3. Olá, Mundo! (Hello, World!) em PHP
  4. Saída simples: echo e print
    4.1 Exercícios de saída simples
  5. Tipos de dados do PHP
  6. Variáveis em PHP: $ e comando echo
  7. Matemática: Operadores Aritméticos de Soma, Subtração, Multiplicação, Divisão e Resto da Divisão em PHP
  8. Recebendo dados via input do HTML para o PHP
    8.1 Calculadora simples
  9. Precedência de operadores
  10. Comentar código PHP
  11. Exercícios Básicos de PHP

 

Apostila completa de PHP para download
Estudar pela Apostila de PHP em PDF

 

 

 Testes Condicionais em PHP

Laços e Loopings em PHP

  1. Operadores de Atribuição em PHP
  2. Laço WHILE
  3. Laço DO WHILE
  4. Laço FOR: O looping controlado
  5. A diferença entre os laços WHILE e FOR 
    Exercício: Como fazer a tabuada em PHP
  6. Comandos BREAK e CONTINUE
  7. Fibonacci com laços
  8. Fatorial com laços
  9. Números primos com laços

Array em PHP

  1. Arrays em PHP - O que é? Para que serve? Onde se usa ?
  2. Arrays em PHP - Como criar, acessar e exibir elementos
  3. Arrays associativos
  4. Função range() para arrays
  5. Foreach - Laço de arrays
  6. Funções de arrays
  7. Exercícios resolvidos de Arrays 

Programação Orientada a Objetos


Data e Tempo em PHP

  1. Como checar se uma data é válida: checkdate()
  2. Como exibir datas e horários em PHP: função date()
  3. Função mktime() e a Unix Timestamp
  4. Função getdate() - Obtendo datas e horários em PHP
  5. Função gettimeofday() - Obtendo tempo atual
  6. Função time() e date() juntas
  7. Data e Hora em português: setlocale() e strftime()
  8. Última modificação de página: getlastmod()
  9. Números de dia em um mês qualquer
  10. Calculando datas no futuro e no passado: strotime()
  11. Classe DateTime: Data e Tempo com orientação a objetos


    Tutoriais de PHP

     
     

    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

    Fornecemos também, o mesmo material acima, no formato físico, para os amantes do cheiro do bom e velho papel:
     
    Livro PHP Progressivo
    Adquirir livro PHP Progressivo


    Certificado do Curso PHP Progressivo

    Se o seu objetivo é se tornar um programador profissional, trabalhar e ganhar dinheiro na área, será necessário que você obtenha a certificação de nosso curso PHP Progressivo, acesse:

     

    🚀 PRÓXIMAS ETAPAS: RUMO AO PHP PROFISSIONAL

    Confira o cronograma dos próximos 180 artigos que serão publicados no Programação Progressiva.

    📦 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




    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: