🧩 Exercícios: Ecossistema Laravel 11, Composer e Artisan
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:
- Criar comando Artisan
php artisan app:clean-tempmanipulando argumentos e opções.
Resultado Esperado
Comando executado: Arquivos temporários removidos com sucesso.
📤 Instruções de Entrega (Microsoft Teams)
- Salve o arquivo como:
Atividade_01_1_SeuNome - 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:
- Registrar binding de interface para implementação concreta no método
register()doAppServiceProvider.
Resultado Esperado
Service Provider registrou binding no Container IoC do Laravel.
📤 Instruções de Entrega (Microsoft Teams)
- Salve o arquivo como:
Atividade_01_2_SeuNome - 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:
- 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)
- Salve o arquivo como:
Atividade_01_3_SeuNome - 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:
- Criar script de deploy automatizando
config:cache,route:cacheeview:cache.
Resultado Esperado
Deploy otimizado: Rotas e configurações compiladas em cache de produção.
📤 Instruções de Entrega (Microsoft Teams)
- Salve o arquivo como:
Atividade_01_4_SeuNome - 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!"