Jornada
Aprenda PHP
Aprenda PHP do zero com um curso online grátis e interativo. Domine variáveis, condicionais, loops, funções, estruturas de dados e organização de projetos com desafios práticos, projetos reais, dicas de IA e um certificado ao concluir.
27,978+ codders inscritos
Esta jornada inclui
Ajuda de codificação com IA
Lições interativas e práticas
Narração em áudio em todas as lições
Questionários para testar seu conhecimento
Certificado grátis de conclusão
Programa
3 seções230 lições205 desafios1,395 perguntas de quiz01Seção 1
Fundamentos
Construa uma base sólida com conceitos essenciais e habilidades básicasCOMEÇAR A APRENDERIntroduction to PHP
5 lições331- 01The PHP LanguageDesafio
- 02Hello World!DesafioQuizÁudio
- 03Tags and StatementsQuizÁudio
- 04CommentsQuizÁudio
- 05The new lineDesafioQuizÁudio
Variables and Data Types
9 lições663- 01NumbersDesafioQuizÁudio
- 02Strings and QuotesDesafioQuizÁudio
- 03BooleansQuizÁudio
- 04Naming ConventionsQuizÁudio
- 05Recap - Variable InitDesafio
- 06Empty VariablesQuizÁudio
- 07String ConcatenationDesafioQuizÁudio
- 08Getting User InputDesafioQuizÁudio
- 09Cast to Different TypesDesafioQuizÁudio
Basic Operators
8 lições852- 01Arithmetic OperatorsDesafioQuizÁudio
- 02Modulo OperatorDesafioQuizÁudio
- 03Exponentiation OperatorDesafioQuizÁudio
- 04Combined AssignmentDesafioQuizÁudio
- 05Increment/DecrementDesafioQuizÁudio
- 06Operator PrecedenceDesafioQuizÁudio
- 07Recap - Simple CalculationsDesafio
- 08String OperatorsDesafioQuizÁudio
Comparison & Logical Operators
5 lições532- 01Comparison OperatorsDesafioQuizÁudio
- 02Equality & IdentityDesafioQuizÁudio
- 03Logical Operators Part 1DesafioQuizÁudio
- 04Logical Operators Part 2DesafioQuizÁudio
- 05Recap - Simple LogicDesafio
Conditional Logic
6 lições639- 01If StatementDesafioQuizÁudio
- 02If - ElseDesafioQuizÁudio
- 03The Ternary OperatorDesafioQuizÁudio
- 04Null Coalescing OperatorDesafioQuizÁudio
- 05Switch StatementDesafioQuizÁudio
- 06Recap - Making DecisionsDesafio
Arrays Part 1 - Indexed
7 lições645- 01Introduction to ArraysQuizÁudio
- 02Creating Indexed ArraysDesafioQuizÁudio
- 03Accessing Elements by IndexDesafioQuizÁudio
- 04Modifying Elements by IndexDesafioQuizÁudio
- 05Array Size with CountDesafioQuizÁudio
- 06Adding Elements to an ArrayDesafioQuizÁudio
- 07Recap - Managing a Simple ListDesafio
Arrays Part 2 - Associative
6 lições540- 01Intro to Associative ArraysQuizÁudio
- 02Accessing Values by KeyDesafioQuizÁudio
- 03Modifying Values by KeyDesafioQuizÁudio
- 04Adding New Key-Value PairsDesafioQuizÁudio
- 05Check if Key ExistsDesafioQuizÁudio
- 06Recap - Key-Value Data StoreDesafio
Laços
7 lições746- 01Laço ForDesafioQuizÁudio
- 02Laço WhileDesafioQuizÁudio
- 03Laço ForeachDesafioQuizÁudio
- 04Laços com Chaves e ValoresDesafioQuizÁudio
- 05Instrução BreakDesafioQuizÁudio
- 06Instrução ContinueDesafioQuizÁudio
- 07Resumo - Iterando Sobre DadosDesafio
Projeto: Lista de Tarefas Simples
Projeto7 lições1- 01Visão Geral do Projeto e DadosDesafio
- 02Adicionando uma Nova TarefaProjeto
- 03Exibindo Todas as TarefasProjeto
- 04Marcando uma Tarefa como ConcluídaProjeto
- 05Removendo uma TarefaProjeto
- 06Filtrando por Status de ConclusãoProjeto
- 07Tratando Cenários de Lista VaziaProjeto
Functions
8 lições857- 01Declaring & Calling FunctionsDesafioQuizÁudio
- 02Function ParametersDesafioQuizÁudio
- 03Returning ValuesDesafioQuizÁudio
- 04Default Parameter ValuesDesafioQuizÁudio
- 05Type Declarations for ParamsDesafioQuizÁudio
- 06Return Type DeclarationsDesafioQuizÁudio
- 07Variable ScopeDesafioQuizÁudio
- 08Recap - Creating Reusable CodeDesafio
Final Challenges
3 lições3- 01Challenge - Factorial CalcDesafio
- 02Challenge - Longest WordDesafio
- 03Challenge - Vowel CounterDesafio
02Seção 2
Lógica & Fluxo
Desenvolva habilidades de resolução de problemas e crie programas dinâmicos e interativosCOMEÇAR A APRENDERFunções Avançadas
9 lições965- 01Funções AnônimasDesafioQuizÁudio
- 02Closures e 'use'DesafioQuizÁudio
- 03Arrow FunctionsDesafioQuizÁudio
- 04Funções de CallbackDesafioQuizÁudio
- 05Usando 'call_user_func'DesafioQuizÁudio
- 06Funções VariáveisDesafioQuiz
- 07Passagem por ReferênciaDesafioQuiz
- 08Funções RecursivasDesafioQuiz
- 09Recapitulação: Mix de FunçõesDesafio
Manipulações Avançadas de Arrays
10 lições1066- 01Adicionando com 'array_push'DesafioQuiz
- 02Removendo com 'array_pop'DesafioQuiz
- 03Adicionando com 'array_unshift'DesafioQuiz
- 04Removendo com 'array_shift'DesafioQuiz
- 05Mesclando Arrays IndexadosDesafioQuiz
- 06Mesclando Arrays AssociativosDesafioQuiz
- 07Extraindo com 'array_slice'DesafioQuiz
- 08Valores com 'in_array'DesafioQuiz
- 09Chaves com 'array_search'DesafioQuiz
- 10Recapitulação: Exercício de PlaylistDesafio
Ordenação de Arrays
7 lições747- 01Ordenar Arrays Indexados (Crescente)DesafioQuiz
- 02Ordenar Arrays Indexados (Decrescente)DesafioQuiz
- 03Ordenar Arrays Associativos por ValorDesafioQuiz
- 04Ordenar Arrays Associativos por ChaveDesafioQuiz
- 05Ordenação por Ordem NaturalDesafioQuiz
- 06Ordenação Personalizada com 'usort'DesafioQuiz
- 07Recapitulação: Ordenação de LeaderboardDesafio
Arrays Multidimensionais
6 lições639- 01Criando um Array 2DDesafioQuiz
- 02Acessando Elementos de um Array 2DDesafioQuiz
- 03Modificando Elementos de um Array 2DDesafioQuiz
- 04Iterando com Loops AninhadosDesafioQuiz
- 05Arrays Associativos 2DDesafioQuiz
- 06Recapitulação: Exercício de Grade SimplesDesafio
Boletim de Alunos
6 lições6- 01Configuração do Projeto: Estrutura de DadosDesafio
- 02Adicionando um Novo AlunoDesafio
- 03Adicionando uma Nota a um AlunoDesafio
- 04Calculando a Média do AlunoDesafio
- 05Encontrando o Melhor AlunoDesafio
- 06Gerando um BoletimDesafio
Funções de Ordem Superior para Arrays
7 lições745- 01Transformando com 'array_map'DesafioQuiz
- 02'array_map' com Funções PersonalizadasDesafioQuiz
- 03Filtrando com 'array_filter'DesafioQuiz
- 04'array_filter' com Funções PersonalizadasDesafioQuiz
- 05Reduzindo com 'array_reduce'DesafioQuiz
- 06Percorrendo com 'array_walk'DesafioQuiz
- 07Recapitulação: Processamento de DadosDesafio
Trabalhando com Datas e Horas
6 lições539- 01A Função 'date()'Quiz
- 02Unix Timestamps com 'time()'DesafioQuiz
- 03Introdução ao Objeto DateTimeDesafioQuiz
- 04Formatando Objetos DateTimeDesafioQuiz
- 05Modificando Objetos DateTimeDesafioQuiz
- 06Recapitulação: Cálculos de DataDesafio
Tratamento de Erros e Exceções
7 lições650- 01Entendendo Erros no PHPQuiz
- 02O Bloco 'try...catch'DesafioQuiz
- 03O Bloco 'finally'DesafioQuiz
- 04Lançando uma ExceçãoDesafioQuiz
- 05Criando uma Exceção PersonalizadaDesafioQuiz
- 06Usando uma Exceção PersonalizadaDesafioQuiz
- 07Recapitulação: Validação de EntradaDesafio
Agendador de Eventos
Projeto6 lições1- 01Dados do EventoDesafio
- 02Adicionando um Novo EventoProjeto
- 03Listando Próximos EventosProjeto
- 04Ordenando Eventos por DataProjeto
- 05Filtrando Eventos por MêsProjeto
- 06Exibindo uma Contagem RegressivaProjeto
Desafios Finais
4 lições4- 01Desafio: Verificador de PalíndromosDesafio
- 02Desafio: Frequência de CaracteresDesafio
- 03Desafio: Total do Carrinho de ComprasDesafio
- 04Desafio: Filtro de Itens ÚnicosDesafio
03Seção 3
Programação Orientada a Objetos
Descubra como organizar o código com classes, objetos e estruturas reutilizáveisCOMEÇAR A APRENDERFundamentos de POO
9 lições969- 01Arquivos ExternosDesafioQuiz
- 02Introdução à POODesafioQuiz
- 03Classes vs ObjetosDesafioQuiz
- 04A Palavra-chave $thisDesafioQuiz
- 05MétodosDesafioQuiz
- 06PropriedadesDesafioQuiz
- 07Construtor (__construct)DesafioQuiz
- 08Destrutor (__destruct)DesafioQuiz
- 09Recapitulação - Calculadora SimplesDesafio
Namespaces e Autoloading
5 lições534- 01Introdução a NamespacesDesafioQuiz
- 02A Palavra-chave useDesafioQuiz
- 03Padrão de Autoloading PSR-4DesafioQuiz
- 04Autoloader do ComposerDesafioQuiz
- 05Recapitulação - Projeto OrganizadoDesafio
Propriedades de Classe
6 lições644- 01Propriedades de Instância vs EstáticasDesafioQuiz
- 02Constantes em ClassesDesafioQuiz
- 03Métodos e Propriedades EstáticosDesafioQuiz
- 04Propriedades Privadas e ProtegidasDesafioQuiz
- 05Propriedades Readonly (PHP 8.1)DesafioQuiz
- 06Recapitulação - Gerenciador de Conta BancáriaDesafio
Herança
6 lições644- 01Herança BásicaDesafioQuiz
- 02A Palavra-chave parent::DesafioQuiz
- 03Sobrescrita de MétodoDesafioQuiz
- 04A Palavra-chave finalDesafioQuiz
- 05Classes AbstratasDesafioQuiz
- 06Recapitulação - Hierarquia de FuncionáriosDesafio
Interfaces e Contratos
6 lições645- 01Introdução a InterfacesDesafioQuiz
- 02Implementando InterfacesDesafioQuiz
- 03Implementação de Múltiplas InterfacesDesafioQuiz
- 04Interface vs Classe AbstrataDesafioQuiz
- 05Type Hinting com InterfacesDesafioQuiz
- 06Recapitulação - Calculadora de FormasDesafio
Polimorfismo
5 lições536- 01Sobrescrita de Métodos RevisitadaDesafioQuiz
- 02Polimorfismo via InterfacesDesafioQuiz
- 03Type Hinting e Union TypesDesafioQuiz
- 04Late Static BindingDesafioQuiz
- 05Recapitulação - Processador de PagamentosDesafio
Encapsulamento
6 lições645- 01Público, Protegido, PrivadoDesafioQuiz
- 02Modificadores de Acesso em DetalhesDesafioQuiz
- 03Getters e SettersDesafioQuiz
- 04Ocultação de InformaçãoDesafioQuiz
- 05Promoção de Construtor (8.0)DesafioQuiz
- 06Recapitulação - Sistema de Registro de AlunosDesafio
Métodos Mágicos
7 lições753- 01Introdução aos Métodos MágicosDesafioQuiz
- 02__toString e __debugInfoDesafioQuiz
- 03__get, __set, __isset, __unsetDesafioQuiz
- 04__call e __callStaticDesafioQuiz
- 05__clone e Clonagem de ObjetosDesafioQuiz
- 06__serialize e __unserializeDesafioQuiz
- 07Recapitulação - Coleção PersonalizadaDesafio
Traits
5 lições544- 01Introdução a TraitsDesafioQuiz
- 02Usando Múltiplos TraitsDesafioQuiz
- 03Resolução de Conflitos de TraitsDesafioQuiz
- 04Métodos Abstratos em TraitsDesafioQuiz
- 05Traits vs HerançaDesafioQuiz
Conceitos Avançados de POO
7 lições761- 01Composição vs HerançaDesafioQuiz
- 02Injeção de DependênciaDesafioQuiz
- 03Classes AnônimasDesafioQuiz
- 04Enums (PHP 8.1)DesafioQuiz
- 05Fibers (PHP 8.1)DesafioQuiz
- 06Mergulho Profundo em Clonagem de ObjetosDesafioQuiz
- 07Geradores e IteradoresDesafioQuiz
Sistema de Tipos e Tratamento de Erros
7 lições754- 01Declarações de TiposDesafioQuiz
- 02Tipos AnuláveisDesafioQuiz
- 03Tipos de União e InterseçãoDesafioQuiz
- 04Classes de ExceçãoDesafioQuiz
- 05Hierarquia de Exceções PersonalizadasDesafioQuiz
- 06Try, Catch, FinallyDesafioQuiz
- 07Recapitulação - Validador de FormulárioDesafio
Padrões de Projeto Parte 1
5 lições546- 01Introdução aos Padrões de ProjetoDesafioQuiz
- 02Padrão SingletonDesafioQuiz
- 03Padrão FactoryDesafioQuiz
- 04Padrão ObserverDesafioQuiz
- 05Padrão StrategyDesafioQuiz
Padrões de Projeto Parte 2
7 lições764- 01Padrão CommandDesafioQuiz
- 02Padrão AdapterDesafioQuiz
- 03Padrão DecoratorDesafioQuiz
- 04Padrão Template MethodDesafioQuiz
- 05Padrão StateDesafioQuiz
- 06Padrão CompositeDesafioQuiz
- 07Padrão RepositoryDesafioQuiz
Projeto: Gerenciamento de Biblioteca
Projeto6 lições1- 01Visão Geral do ProjetoDesafio
- 02Classes Livro e UsuárioProjeto
- 03Sistema de EmpréstimosProjeto
- 04Funcionalidade de BuscaProjeto
- 05Interface AdministrativaProjeto
- 06Testes e IntegraçãoProjeto
Desafios Finais
4 lições4- 01Plataforma de E-LearningDesafio
- 02Sistema BancárioDesafio
- 03Desenvolvimento de Personagens de JogosDesafio
- 04Serviço de Aluguel de VeículosDesafio
Por que aprender PHP com a Coddy
- Curso de PHP online e grátis: sem instalação, sem configurar ferramentas e sem barreiras para começar. Abra o navegador e pratique desde a primeira aula.
- Aulas práticas de PHP que vão além de um tutorial: cada conceito vem com um desafio para escrever código real e aprender fazendo.
- As dicas de IA ajudam quando você trava em um exercício de PHP, mostrando o próximo passo sem entregar a resposta completa.
- Certificado grátis de conclusão para compartilhar no LinkedIn ou adicionar ao currículo como prova de que você completou um curso interativo de PHP.
Perguntas frequentes sobre aprender PHP
PHP é fácil de aprender?
Sim, você pode começar com PHP mesmo sem experiência. A Coddy divide os conceitos em exercícios curtos para você entender a sintaxe, praticar variáveis, condicionais, loops, funções, estruturas de dados e organização de projetos e ganhar confiança aos poucos.
Quanto tempo leva para aprender PHP?
Os fundamentos de PHP geralmente podem ser aprendidos em uma ou duas semanas de prática diária. Para criar projetos reais com segurança, reserve de um a três meses, dependendo do seu ritmo.
Onde posso aprender PHP online grátis?
A Coddy oferece um curso online grátis de PHP com aulas, desafios de código, quizzes e projetos. Não é preciso instalar nada: tudo funciona no navegador.
Como aprender PHP rápido?
A forma mais rápida é praticar todos os dias. Na Coddy você alterna explicação curta, exercício imediato e feedback com dicas de IA, passando mais tempo escrevendo PHP do que assistindo a vídeos longos.
Recebo um certificado de PHP ao terminar?
Sim. Ao concluir o curso de PHP na Coddy, você recebe um certificado grátis de conclusão para compartilhar no LinkedIn ou incluir no currículo.
O que posso criar depois de aprender PHP?
Depois do curso, você poderá criar scripts úteis, pequenos apps, automações, jogos simples e projetos para mostrar no portfólio. Também terá uma base sólida para avançar para tópicos mais profissionais.