IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 PHP Discussion :

Use de validatorInterface non fonctionnelle [4.x]


Sujet :

PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 162
    Par défaut Use de validatorInterface non fonctionnelle
    Bonjour,

    J'ai ce code qui provient de la documentation officielle:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    <?php
     
    namespace App\Controller;
     
    use App\Entity\Product;
    use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
    use Symfony\Component\HttpFoundation\Response;
    use Symfony\Component\Routing\Annotation\Route;
    use Symfony\Component\Validator\Validator\ValidatorInterface;
     
    class ProductController extends AbstractController
    {
        /**
         * @Route("/create_product", name="create_product")
         */
        public function createProduct(ValidatorInterface $validator): Response
        {
            $product = new Product();
            $product->setName(null);
            $product->setPrice('1999');
     
            $errors = $validator->validate($product);
            if (count($errors) > 0) {
                return new Response((string) $errors, 400);
            }
        }
    }
    Le use Symfony\Component\Validator\Validator\ValidatorInterface est bien présent par contre j'obtiens l'erreur suivante:

    (1/1) InvalidArgumentException

    Cannot determine controller argument for "App\Controller\ProductController::createProduct()": the $validator argument is type-hinted with the non-existent class or interface: "Symfony\Component\Validator\Validator\ValidatorInterface".
    Comment puis je résoudre ce problème?

    Merci par avance

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 631
    Par défaut
    Salut,

    Il te manque certainement la dépendance symfony/validator. Pour l'installer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    composer req validator doctrine/annotations
    Si tu débutes avec Symfony le mieux c'est d'avoir toutes les dépendances nécessaires déjà installées lors de la création du projet. La commande suivante permet de créer un projet avec toutes les dépendances( validator, twig, serializer, security, form ...):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    composer create-project symfony/website-skeleton le_nom_du_projet
    Un IDE évolué comme PHPStorm permet d'identifier les erreurs pendant la saisie et te propose les corrections à apporter.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 162
    Par défaut
    Salut,

    J'ai essayé ta commande composer req validator doctrine/annotations mais cela ne fonctionne pas. Cela me donne:

    You are running composer with xdebug enabled. This has a major impact on runtime performance. See https://getcomposer.org/xdebug
    Restricting packages listed in "symfony/symfony" to "4.1.*"
    Using version ^1.8 for doctrine/annotations
    ./composer.json has been updated
    Loading composer repositories with package information
    Updating dependencies (including require-dev)
    Restricting packages listed in "symfony/symfony" to "4.1.*"
    Your requirements could not be resolved to an installable set of packages.

    Problem 1
    - sensio/framework-extra-bundle v5.4.1 requires symfony/config ^3.4|^4.3 -> no matching package found.
    - sensio/framework-extra-bundle v5.4.0 requires symfony/config ^3.4|^4.3 -> no matching package found.
    - Installation request for sensio/framework-extra-bundle ^5.4 -> satisfiable by sensio/framework-extra-bundle[v5.4.0, v5.4.1].

    Potential causes:
    - A typo in the package name
    - The package is not available in a stable-enough version according to your minimum-stability setting
    see <https://getcomposer.org/doc/04-schema.md#minimum-stability> for more details.
    - It's a private package and you forgot to add a custom repository to find it

    Read <https://getcomposer.org/doc/articles/troubleshooting.md> for further common problems.

    Installation failed, reverting ./composer.json to its original content.
    Qu'est ce que cela signifie?

    J'ai l'impression que c'est parce que c'est une version de Symfony un peu ancienne et qu'il y a des problèmes de compatibilité avec la 4.1. Mais du coup comment faire?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 162
    Par défaut
    C'est bon maintenant cela fonctionne.

    composer require sensio/framework-extra-bundle "v5.2.4" m'a permis d'installer une version compatible avec Symfony 4.1.

    Du coup, la commande: composer req validator doctrine/annotations a fonctionné.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Flash Disque non fonctionnel
    Par stanley dans le forum Composants
    Réponses: 2
    Dernier message: 18/07/2006, 12h18
  2. Code non fonctionnel sous IE
    Par Nip dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 07/06/2006, 14h59
  3. timage non fonctionnel !!
    Par micky13 dans le forum Delphi
    Réponses: 5
    Dernier message: 13/05/2006, 07h21
  4. Update non fonctionnel
    Par kissmytoe dans le forum Access
    Réponses: 7
    Dernier message: 07/03/2006, 18h37
  5. [REPORTS] Order BY non fonctionnel
    Par sdiack dans le forum Reports
    Réponses: 2
    Dernier message: 10/02/2006, 18h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo