*/ protected function getJsonInput(): array { $input = file_get_contents('php://input'); if ($input === false || $input === '') { return []; } $decoded = json_decode($input, true); if (!is_array($decoded)) { return []; } return $decoded; } protected function jsonError(string $message, int $status = 500): void { $this->json(['success' => false, 'error' => $message], $status); } }