Partage
  • Partager sur Facebook
  • Partager sur Twitter

Utiliser une API en PHP (et POO)

Sujet résolu
    23 mai 2018 à 14:55:30

    Bonjour à tous et à toutes,

    Je souhaiterais utiliser l'API Gtmetrix afin de collecter certaines données et les mettre dans une base de donnée (projet stage).

    J'utilise actuellement NetBeans et XAMPP.

    J'ai crée la base, j'ai installé composer dans le serveur XAMPP afin d'installer l'API Gtmetrix dans mon projet.

    Tout c'est bien installer, mais maintenant j'ai du mal à coder le script afin d'utiliser l'API (je ne suis pas un grand expert en POO).

    Le code proposé afin d'utiliser l'API est celui ci :

    use Entrecore\GTMetrixClient\GTMetrixClient;
    use Entrecore\GTMetrixClient\GTMetrixTest;
    
    $client = new GTMetrixClient();
    $client->setUsername('your@email.com');     //Mon email afin d'effectuer les test
    $client->setAPIKey('your-gtmetrix-api-key'); //La clé fournie
    
    $client->getLocations();
    $client->getBrowsers();
    $test = $client->startTest('http://www.example.com/'); //Le site à tester
     
    //Wait for result
    while ($test->getState() != GTMetrixTest::STATE_COMPLETED &&
        $test->getState() != GTMetrixTest::STATE_ERROR) {
        $client->getTestStatus($test);
        sleep(5);
    }

    Je dois avoir un problème au niveau de l'arborescence probablement... J'obtient ce message d'erreur lorsque je vais sur la page de test :

    "Fatal error: Uncaught Error: Class 'Entrecore\GTMetrixClient\GTMetrixClient' not found in E:\xampp\htdocs\projets\Projet1\TestSite.php:7 Stack trace: #0 {main} thrown in E:\xampp\htdocs\projets\Projet1\TestSite.php on line 7"

    Capture (arborescence à gauche, classe GtmetrixClient à droite) :

    Toute info / aide me sera d'une très grande utilité :) !

    Merci.

    -
    Edité par PetiteFlamme31 24 mai 2018 à 14:58:55

    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      23 mai 2018 à 15:30:26

      salut,

      tu as essayer de copier les deux modules dans le dossier E:\xampp\htdocs\projets\Projet1\ ?

      • Partager sur Facebook
      • Partager sur Twitter
        23 mai 2018 à 15:34:51

        Merci pour votre réponse si rapide, vous voulez dire copier les deux classes avec le scirpt de lancement de l'API ? Pour voir si cela fonctionne ?

        Je vais tester.

        EDIT : Toujours les mêmes erreurs, je ne vois vraiment pas d'où cela vient, j'ai l'impression que c'est un simple problème d'arborescence...

        -
        Edité par PetiteFlamme31 23 mai 2018 à 16:07:29

        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          23 mai 2018 à 16:55:51

          Publies ton TestSite.php pour voir cette fameuse ligne 7
          • Partager sur Facebook
          • Partager sur Twitter
            23 mai 2018 à 17:25:47

            OlafYansen a écrit:

            Publies ton TestSite.php pour voir cette fameuse ligne 7

            Le voici :

            <?php
            require('../vendor/autoload.php');
            
            use Entrecore\GTMetrixClient\GTMetrixClient;
            use Entrecore\GTMetrixClient\GTMetrixTest;
            
            
            $client = new GTMetrixClient();
            $client->setUsername('*@**');
            $client->setAPIKey('****');
            
            $client->getLocations();
            $client->getBrowsers();
            $test = $client->startTest('*');
            
            //Wait for result
            while ($test->getState() != GTMetrixTest::STATE_COMPLETED &&
             $test->getState() != GTMetrixTest::STATE_ERROR) {
                $client->getTestStatus($test);
                sleep(5);
            }
            ?>

            J'ai ranger les fichiers du site dans un dossier Public, ça fais moins brouillon.



            -
            Edité par PetiteFlamme31 23 mai 2018 à 18:25:19

            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              24 mai 2018 à 12:14:05

              est-ce qu'il n'y aurait pas un problème avec la version de php installé sur XAMMP?
              • Partager sur Facebook
              • Partager sur Twitter
                24 mai 2018 à 13:57:10

                OlafYansen a écrit:

                est-ce qu'il n'y aurait pas un problème avec la version de php installé sur XAMMP?

                J'utilise la version 7.2.1 de PHP sur mon XAMPP.

                -
                Edité par PetiteFlamme31 24 mai 2018 à 13:57:18

                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  24 mai 2018 à 14:47:04

                  Il faudrait downgrader pour vérifier l'hypothèse.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    24 mai 2018 à 15:02:55

                    Pourtant il est écrit sur packagist.org :

                    requires

                    • php: >=5.3.3
                    • ext-curl: *

                    Ma version ne devrait pas dérranger.. Je vais voir en "downgradant". Cela n'affectera pas mes projets ?

                    • Partager sur Facebook
                    • Partager sur Twitter
                    Anonyme
                      24 mai 2018 à 15:14:26

                      Si. Mais après tu re up si ce n'est pas çà. Je ne vois aucune autre piste perso.
                      • Partager sur Facebook
                      • Partager sur Twitter
                        24 mai 2018 à 15:21:45

                        OlafYansen a écrit:

                        Si. Mais après tu re up si ce n'est pas çà. Je ne vois aucune autre piste perso.

                        Merci je vais voir ça, dans NetBeans je peux créer un projet directement en choisissant la version de PHP, je vais tenter avec une autre version.

                        EDIT : J'ai testé, toujours pareil, il doit y avoir un problème avec l'autoloader ou je ne vraiment pas...

                        J'ai testé une API de Page Speed Insight et ça fonctionne. En même temps il n'y a pas de classes...

                        Enfin ce n'est pas normal...

                        -
                        Edité par PetiteFlamme31 24 mai 2018 à 15:29:47

                        • Partager sur Facebook
                        • Partager sur Twitter
                          28 mai 2018 à 9:47:16

                          Résolu : Il y avait un problème d'autoloader.
                          • Partager sur Facebook
                          • Partager sur Twitter

                          Utiliser une API en PHP (et POO)

                          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                          • Editeur
                          • Markdown