Partage
  • Partager sur Facebook
  • Partager sur Twitter

Probleme avec Response dans une function

Sujet résolu
27 août 2021 à 22:00:04

Bonjour

je débute sur symfony, j'aimera crée une page qui affichera les détails par exemple d'un produit

mais je fais fasse a une erreur. voici mon code

<?php

namespace App\Controller;

use App\Repository\ProductsRepository;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;

class StoreController extends AbstractController
{

    /**
     * @var ProductsRepository 
     */
    private $repo;

    public function __construct(ProductsRepository $repo)
    {
        $this->repository = $repo;
    }

    #[Route('/store', name: 'store')]
    public function index(): Response
    {
        $product = $this->repository->findByMax(15);
        return $this->render('store/index.html.twig', [
            'controller_name' => 'StoreController',
            'page_name' => 'Produits',
            'products' => $product,
        ]);
    }

    /**
     * @Route("/product/{slug}-{id}", name="blog_list", requirements={"slug": "[a-z0-9\-]*"})
     * @return Response
     */

    public function show(): Response
    {
       return $this->render('store/show.html.twig');
    }
}

au niveau de la ligne 'public function show(): Response' j'ai une erreur

sur la classe Response, ça me dit 

Expected type 'Symfony\Component\HttpFoundation\Response'. Found 'string'.intelephense(1006)
Symfony\Component\HttpFoundation\Response

Response represents an HTTP response.

Merci d'avance

  • Partager sur Facebook
  • Partager sur Twitter
27 août 2021 à 22:40:19

Salut

Je pense que PHP intelephense se mélange du fait des deux types de définition de routes. Du moment que ton code fonctionne (même si je recommande vivement de s'en tenir à soit les attributs PHP soit les annotations pour les routes, les mélanges ne fonctionneront certainement plus dans un futur proche) quand tu l'exécutes, tu ne devrais pas en tenir trop compte.

  • Partager sur Facebook
  • Partager sur Twitter
30 août 2021 à 12:39:29

Ymox a écrit:

Salut

Je pense que PHP intelephense se mélange du fait des deux types de définition de routes. Du moment que ton code fonctionne (même si je recommande vivement de s'en tenir à soit les attributs PHP soit les annotations pour les routes, les mélanges ne fonctionneront certainement plus dans un futur proche) quand tu l'exécutes, tu ne devrais pas en tenir trop compte.

C'était bien ça merci beaucoup <3

  • Partager sur Facebook
  • Partager sur Twitter