🐛 Descrição do Bug
PivotPHP Core usa suas próprias classes Request/Response que não implementam PSR-7, causando incompatibilidade de tipos nos controllers.
Erro Específico
Argument #1 ($request) must be of type Psr\Http\Message\ServerRequestInterface,
PivotPHP\Core\Http\Request given
Impacto
- ❌ Controllers não podem usar type hints PSR-7
- ❌ Quebra a interoperabilidade com outras bibliotecas PSR-7
Ações para Correção
Solução 1: Implementar PSR-7 no PivotPHP Core
// No PivotPHP Core
namespace PivotPHP\Core\Http;
use Psr\Http\Message\ServerRequestInterface;
class Request implements ServerRequestInterface
{
// Implementar todos os métodos PSR-7
}
Solução 2: Criar Factory para Conversão
// src/Http/Psr7Factory.php
class Psr7Factory
{
public function createFromPivotRequest(Request $request): ServerRequestInterface
{
return new Psr7Request(
$request->getMethod(),
$request->getUri(),
$request->getHeaders(),
$request->getBody()
);
}
}
Solução 3: Usar Dupla Interface nos Controllers
// Controller que aceita ambos os tipos
public function index(Request|ServerRequestInterface $request): Response|ResponseInterface
{
// Lógica adaptativa
}
🐛 Descrição do Bug
PivotPHP Core usa suas próprias classes Request/Response que não implementam PSR-7, causando incompatibilidade de tipos nos controllers.
Erro Específico
Impacto
Ações para Correção
Solução 1: Implementar PSR-7 no PivotPHP Core
Solução 2: Criar Factory para Conversão
Solução 3: Usar Dupla Interface nos Controllers