Aula 01 - Introdução ao PHP Moderno 🐘
🎯 Objetivo da Aula
- Entender a evolução histórica do PHP.
- Conhecer as novidades do PHP 8.x.
- Dominar o ecossistema profissional (Composer e PSRs).
- Preparar o "mindset" para o desenvolvimento moderno.
🚀 O PHP não morreu!
- Ele alimenta 77% da web (WordPress, Wikipedia, Slack).
- Evoluiu de uma linguagem de script para uma plataforma robusta.
- O foco atual é: Performance e Tipagem Forte.
⏳ Linha do Tempo
- PHP 5.x: A era de ouro do CMS.
- PHP 7.x: Revolução da performance (PHP-NG).
- PHP 8.x: JIT, Tipagem Union, Atributos e Modernidade Crua.
🌍 Ecossistema Moderno
graph LR
A[Linguagem] --> B[Ecossistema]
B --> C[Composer]
B --> D[PSRs]
C --> E[Packagist]
D --> F[Interoperabilidade]
📦 O Papel do Composer
- Gerenciador de dependências.
- Não é um gerenciador de pacotes do sistema (como apt-get).
- Resolve a "Hell of Dependencies".
🛠️ Comandos Essenciais
composer init: Configura o projeto.composer install: Instala o que está no lock.composer update: Atualiza as versões.
📐 PSRs: O que são?
- PHP Standard Recommendations.
- Criadas pelo PHP-FIG.
- Objetivo: Fazer o código de um desenvolvedor "falar" com o de outro.
🔍 PSR-1 e PSR-12
- Padrões de codificação.
- Tags PHP: sempre
<?php. - CamelCase para métodos.
- PascalCase para Classes.
🔄 PSR-4: Autoloading
- Mapeamento de Namespaces para Pastas.
- Elimina o uso de milhares de
require_once. - Essencial para o Laravel.
🧬 Tipagem Forte (PHP 8)
- Menos bugs em produção. - Melhor suporte da IDE (Autocomplete).⛓️ Union Types
string|int: Quando uma variável pode ser texto ou número.mixed: O tipo curinga (use com moderação).
⚡ Just-In-Time (JIT)
- Compila partes do código para código de máquina em tempo real.
- Ganho massivo em cálculos matemáticos pesados.
🆚 Switch vs Match
match: É uma expressão (retorna valor).- Sem
breaknecessário. - Comparação estrita (
===).
🏗️ Ambiente Profissional
- PHP 8.2+
- Composer 2.x
- Docker (opcional, mas recomendado)
- VS Code + Intelephense
🚩 PSR-7: HTTP Messages
- Padroniza como Req/Res são tratadas.
- Base para middlewares modernos.
📚 Documentação
- PHP.net: O manual supremo.
- Laracasts: A Netflix do PHP.
- Packagist.org: Onde a mágica (pacotes) mora.
💡 Dica de Ouro
- Nunca tente reinventar a roda sem necessidade.
- Se alguém já criou um pacote PSR-4 testado, use-o!
🧗♂️ Desafio Aula 01
- Criar um projeto
composer init. - Instalar o pacote
monolog/monolog. - Gerar um arquivo de log simples.
🏁 Conclusão
- PHP é moderno.
- O ecossistema é baseado em padrões.
- Estamos prontos para o Laravel!
🙋♂️ Dúvidas?
"O código limpo é aquele que parece ter sido escrito por alguém que se importa." (Robert C. Martin)