Olá! Trabalho com PHP e Laravel há mais ou menos 12 anos.
Antes de tudo, é importante entender bem Orientação a Objetos. Como o framework é orientado a objetos, sem esse conhecimento, acaba sendo algo meio “mágico”. Criar as funcionalidades até dá certo, mas na hora da manutenção, que é uma das partes mais importantes, vira um pesadelo.
Minha dica é estudar bem o padrão MVC e entender direitinho o papel de cada camada. Isso vai ajudar a manter o código mais limpo e organizado. Entenda bem o fluxo:
Request (infraestrutura) → Controller → Ação (domínio/regra de negócio) → Model → Resource
.
O Laravel é extremamente completo. Quando você realmente domina a ferramenta, percebe que só precisa se preocupar com a regra de negócio, o resto ele já resolve pra você.
Road map mais completo:
- HTML e JavaScript (básico): Entenda como funcionam os formulários, envio de dados e manipulação básica de elementos.
- Protocolo HTTP: Métodos (GET, POST, PUT, DELETE), status codes, headers, body e como os dados trafegam entre cliente e servidor.
- PHP (base): Sintaxe, variáveis, arrays, funções, escopos, superglobais (_GET, _POST, etc.), sessions, includes, etc.
- Orientação a Objetos com PHP Classes, objetos, herança, polimorfismo, interfaces, traits, injeção de dependência e composição.
- Padrão MVC: Entenda bem o papel de cada camada e como separar responsabilidades.
- Composer & Autoloading: O que é, como instalar pacotes, PSR-4 e carregamento automático de classes.
- Laravel (início): Instalação, estrutura de pastas, rotas, controllers, models, views, migrations e Eloquent ORM.
- Validação e Requests: Use FormRequest, regras de validação, mensagens customizadas, sanitização de dados.
- Regras de negócio e Services: Separe a lógica em serviços.
- Autenticação e Autorização: Login, registro, middlewares, policies, gates e permissões.
- APIs RESTful com Laravel: Respostas JSON, Resource e ResourceCollection, versionamento de API.
- Testes(Pest): Testes de unidade, testes de integração, mocks, cobertura de código.
- Queues, Jobs e Events: Processamento assíncrono, listeners, broadcast, filas.
- Cache, Redis e Otimizações: Cache de queries, cache de views, Redis para filas e cache, otimização de performance.
- Boas práticas e arquitetura limpa: Domain Driven Design (DDD), Service Pattern, Repositories, SOLID, PSRs.
- Deploy e Monitoramento: Laravel Forge, Envoyer, Docker, CI/CD, logs com Sentry/Papertrail, observabilidade com Telescope.