🚀 Capítulo 10: Construindo a Armadura (Tema: Stark)
NOTE
Este capítulo utiliza a temática de Tony Stark (Homem de Ferro) para explicar a Introdução à Programação Orientada a Objetos (POO) em PHP. Aprenda a criar moldes e construir objetos incríveis!
1. 🎯 Objetivo da Aula
Compreender os conceitos básicos de Programação Orientada a Objetos (POO) em PHP: o que são Classes, Objetos, Atributos (variáveis) e Métodos (funções), além do método construtor.
2. 🏢 O Cenário Prático (Seu Desafio)
O gênio, bilionário, playboy e filantropo Tony Stark não constrói suas armaduras de qualquer jeito. Ele primeiro desenha um projeto no computador (a planta, o molde). Esse projeto diz quais peças a armadura terá (propulsores, inteligência artificial) e o que ela será capaz de fazer (voar, atirar laser). A partir desse projeto único, ele pode construir várias armaduras físicas reais: a Mark 1, a Mark 2, a Hulkbuster, etc.
Na POO:
- O projeto no computador é a Classe.
- A armadura física construída é o Objeto. Seu desafio é criar o molde da sua armadura!
🧠 Fundamentos: A Teoria Traduzida
📐 1. Criando a Classe (O Molde):
Usamos a palavra class. Dentro dela colocamos as variáveis (chamadas de Atributos) e as funções (chamadas de Métodos).
class Armadura {
// Atributos (Propriedades)
public $nome;
public $cor;
// Método (Ação)
public function voar() {
echo $this->nome . " está voando pelos céus!\n";
}
}Nota: A palavra $this serve para a classe falar de si mesma. Significa: “Pegue o nome DESTA armadura”.
🏗️ 2. Construindo o Objeto (Instanciação):
Para criar um objeto real a partir do molde, usamos a palavra-chave new.
$mark5 = new Armadura();
$mark5->nome = "Mark V";
$mark5->cor = "Vermelha e Prata";
$mark5->voar(); // Chama o métodoAtenção: Em PHP, para acessar as coisas dentro de um objeto, não usamos o ponto ., usamos a setinha ->!
4. 📖 Exemplo Guiado: O Construtor Mágico
Para não precisarmos preencher o nome e a cor linha por linha, podemos usar um método especial chamado Construtor (__construct). Ele roda sozinho assim que criamos o objeto!
<?php
class Armadura {
public $nome;
public $cor;
// O Construtor recebe os dados na criação
public function __construct($nomeRecibido, $corRecebida) {
$this->nome = $nomeRecibido;
$this->cor = $corRecebida;
}
public function status() {
echo $this->nome . " está pronta na cor " . $this->cor . ".\n";
}
}
// Criando o objeto e passando os dados direto no parênteses!
$hulkbuster = new Armadura("Hulkbuster", "Vermelha");
$hulkbuster->status();
?>5. 🛠️ Prática Obrigatória 1: Criando o Molde
- Escreva o código de uma classe chamada
Heroicom dois atributos públicos:$nomee$poder.
6. 🛠️ Prática Obrigatória 2: Fabricando o Objeto
- Escreva o código que cria um objeto a partir da classe
Heroi(usando onew) e guarda na variável$novoHeroi.
7. 📤 Instruções de Entrega (GitHub Desktop + Microsoft Teams)
- Faça o Commit: No GitHub Desktop, digite a mensagem (ex:
Finaliza Capítulo 10 PHP_Stark) e clique em Commit to main. - Envie para a Nuvem (Push): Clique em Push origin.
8. 📂 Estrutura de Pastas
spec_backend_com_php_e_laravel/
├── capitulos/
│ └── capitulo_10_stark.md💡 Checkpoint de Lógica
Em PHP, as funções especiais que começam com dois underlines (como __construct) são chamadas de Métodos Mágicos. Existem vários outros para situações diferentes!
10. 🔥 Desafio de Fixação
Pesquise o que significa a palavra public antes das variáveis na classe e qual a diferença para as palavras private e protected.
🔑 Gabarito de Código/Fórmulas
Gabarito da Prática 1:
class Heroi {
public $nome;
public $poder;
}Gabarito da Prática 2:
$novoHeroi = new Heroi();