Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Meu autoload não funciona nas class do Psr7

Meu autoload não funciona nas class do Psr7, fiz testes em class que eu criei e funcionou. cheguei a baixar o projeto da aula já pronto para copiar o namespace mas não funcionou meu index `<?php

require_once __DIR__ . "/../vendor/autoload.php";



use php\Psr\Controller\{Insercao,ControllerTeste};

use Nyholm\Psr7\Factory\Psr17Factory;
use Nyholm\Psr7Server\ServerRequestCreator;
use Psr\Container\ContainerInterface;
use Psr\Http\Server\RequestHandlerInterface;


$rotas = require __DIR__ . "/../config/rotas/rotas.php";
$caminho = $_SERVER["PATH_INFO"];

if(!array_key_exists($caminho, $rotas)){
    http_response_code(404);
    exit();
}
session_start();
$login = stripos($caminho, "login");

$aaa = new ControllerTeste();

$psr17Factory = new Psr17Factory();

$creator = new ServerRequestCreator( $psr17Factory, // ServerRequestFactory $psr17Factory, // UriFactory $psr17Factory, // UploadedFileFactory $psr17Factory // StreamFactory );

$request = $creator->fromGlobals();

$controllerClass = $rotas[$caminho];
$controller = new $controllerClass();
$resposta = $controller->requisicao($request);

foreach ($resposta->getHeaders() as $name => $values) {
    foreach ($values as $value) {
        header(sprintf('%s: %s', $name, $value), false);
    }
}

echo $resposta->getBody();

?>`

meu composer.json

{
    "autoload":{
        "psr-4": {
            "php\\Psr\\":"src/" 
        }
    },"require": {
        "doctrine/orm": "^2.6",
        "psr/http-message": "^1.0",
        "nyholm/psr7-server": "^1.0"
    }
}

o erroInsira aqui a descrição dessa imagem para ajudar na acessibilidade

2 respostas
solução!

Phelipe, boa noite!

Tenta adicionar isso ao seu composer json:

    {
"autoload":{
    "psr-4": {
        "php\\Psr\\":"src/" 
    }
},"require": {
    "doctrine/orm": "^2.6",
    "psr/http-message": "^1.0",
    "nyholm/psr7-server": "^1.0",
    "nyholm/psr7": "^1.4"
}

}

Pelo print que você postou está faltando o nyholm/psr7 no seu composer.json

Funcionou, muito obrigado