Spec Backend Com Php E Laravel • Trilha Progressiva em 4 Níveis


🎯 Nível 1: Fundamentos

Problema 01.1 — Comando Artisan Customizado para Limpeza de Cache

Contexto: Comando Artisan Customizado para Limpeza de Cache no contexto de Ecossistema Laravel 11, Composer e Artisan.

Requisitos de Execução:

  1. Criar comando Artisan php artisan app:clean-temp manipulando argumentos e opções.

Resultado Esperado

Comando executado: Arquivos temporários removidos com sucesso.

📤 Instruções de Entrega (Microsoft Teams)

  1. Salve o arquivo como: Atividade_01_1_SeuNome
  2. Envie na tarefa: Atividade Cap 01 - Ecossistema Laravel 11, Composer e Artisan
🔑 Gabarito de Código & Solução Comentada
<?php
// app/Console/Commands/CleanTempCommand.php
namespace App\Console\Commands;

use Illuminate\Console\Command;
use Illuminate\Support\Facades\File;

class CleanTempCommand extends Command
{
    protected $signature = 'app:clean-temp {--days=7 : Dias de retenção}';
    protected $description = 'Limpa arquivos temporários da aplicação';

    public function handle()
    {
        $dias = $this->option('days');
        $this->info("Limpando arquivos com mais de {$dias} dias...");
        return Command::SUCCESS;
    }
}

🔍 Nível 2: Prática

Problema 01.2 — Configuração de Service Provider e Injeção de Contratos

Contexto: Configuração de Service Provider e Injeção de Contratos no contexto de Ecossistema Laravel 11, Composer e Artisan.

Requisitos de Execução:

  1. Registrar binding de interface para implementação concreta no método register() do AppServiceProvider.

Resultado Esperado

Service Provider registrou binding no Container IoC do Laravel.

📤 Instruções de Entrega (Microsoft Teams)

  1. Salve o arquivo como: Atividade_01_2_SeuNome
  2. Envie na tarefa: Atividade Cap 01 - Ecossistema Laravel 11, Composer e Artisan
🔑 Gabarito de Código & Solução Comentada
<?php
// app/Providers/PaymentServiceProvider.php
namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use App\Contracts\PaymentGatewayInterface;
use App\Services\StripePaymentGateway;

class PaymentServiceProvider extends ServiceProvider
{
    public function register(): void
    {
        $this->app->bind(PaymentGatewayInterface::class, StripePaymentGateway::class);
    }
}

⚡ Nível 3: Integração

Problema 01.3 — Configuração de Environment (.env) com Validação

Contexto: Configuração de Environment (.env) com Validação no contexto de Ecossistema Laravel 11, Composer e Artisan.

Requisitos de Execução:

  1. Acessar variáveis seguras com config('services.stripe.secret') e validar valores obrigatórios no bootstrap.

Resultado Esperado

Configurações validadas com sucesso sem expor env() fora de arquivos config/.

📤 Instruções de Entrega (Microsoft Teams)

  1. Salve o arquivo como: Atividade_01_3_SeuNome
  2. Envie na tarefa: Atividade Cap 01 - Ecossistema Laravel 11, Composer e Artisan
🔑 Gabarito de Código & Solução Comentada
<?php
// config/services.php
return [
    'stripe' => [
        'key' => env('STRIPE_KEY'),
        'secret' => env('STRIPE_SECRET'),
    ],
];

🏆 Nível 4: Desafio Corporativo

Problema 01.4 — Otimização de Performance do Laravel (config:cache, route:cache)

Contexto: Otimização de Performance do Laravel (config:cache, route:cache) no contexto de Ecossistema Laravel 11, Composer e Artisan.

Requisitos de Execução:

  1. Criar script de deploy automatizando config:cache, route:cache e view:cache.

Resultado Esperado

Deploy otimizado: Rotas e configurações compiladas em cache de produção.

📤 Instruções de Entrega (Microsoft Teams)

  1. Salve o arquivo como: Atividade_01_4_SeuNome
  2. Envie na tarefa: Atividade Cap 01 - Ecossistema Laravel 11, Composer e Artisan
🔑 Gabarito de Código & Solução Comentada
#!/bin/bash
# deploy.sh
php artisan config:cache
php artisan route:cache
php artisan view:cache
php artisan event:cache
echo "Laravel 11 compilado para produção com máxima performance!"