Partage
  • Partager sur Facebook
  • Partager sur Twitter

Cours Architecture PHP professionnelle / Questions

    25 février 2015 à 13:48:21

    bpesquet a écrit:

    Gil8925 a écrit:


    Message d'erreur:

    PHP Fatal error:  Call to a member function find() on a non-object in /home/geoulah/public_html/essai_sites/MyBooks/src/DAO/AuthorDAO.php on line 85



    -
    Edité par Gil8925 hier à 11:20


    Bonjour,

    Votre message d'erreur indique que la variable $this->authorDAO n'est pas un objet.

    Avez-vous bien fait le lien entre les services bookDAO et authorDAO dans le fichier app.php ? Il vous faut un bloc du type :

    $app['dao.book'] = $app->share(function ($app) {
        $bookDAO = new MyBooks\DAO\BookDAO($app['db']);
        $bookDAO->setAuthorDAO($app['dao.author']);
        return $bookDAO;
    });




    Bonjour,

    Je vais prendre le temps d'approfondir la correction type.

    Merci

    • Partager sur Facebook
    • Partager sur Twitter
      25 février 2015 à 16:17:06

      Bonjour,

      J'ai malheureusement pas pu envoyer mon devoir hier, faute peut-être de temps, car je suis quand même très occupé et j'aimerais savoir si c'est possible que je soumette mon Activité 1 avant la fin des corrections.

      Merci.

      -
      Edité par patrickg 25 février 2015 à 16:21:06

      • Partager sur Facebook
      • Partager sur Twitter
        25 février 2015 à 17:27:19

        Bonjour,

        Juste un petit message à mes correcteurs qui me signalent que je n'ai rien compris à la POO. C'est TOTALEMENT exact. Je dois dire que je tente de comprendre le cours...et je rame assez bien (je ne suis pas développeur de formation).

        Je les remercie pour leurs commentaires constructifs et encourageants. Je pense qu'il faut que je m'attaque à la POO sérieusement afin de mieux appréhender ce genre de cours.

        La suite ne s'annonce pas évidente....mais je m'accroche.

        Merci aussi au créateur de ce cours qui est extrêmenent bien fait. Il m'aidera certainement par la suite.

        • Partager sur Facebook
        • Partager sur Twitter
          25 février 2015 à 17:49:08

          Ghinzu a écrit:

          Bonjour,

          Juste un petit message à mes correcteurs qui me signalent que je n'ai rien compris à la POO. C'est TOTALEMENT exact. Je dois dire que je tente de comprendre le cours...et je rame assez bien (je ne suis pas développeur de formation).

          Je les remercie pour leurs commentaires constructifs et encourageants. Je pense qu'il faut que je m'attaque à la POO sérieusement afin de mieux appréhender ce genre de cours.

          La suite ne s'annonce pas évidente....mais je m'accroche.

          Merci aussi au créateur de ce cours qui est extrêmenent bien fait. Il m'aidera certainement par la suite.


          Bonjour,

          Merci pour les remerciements ;)

          Il est vrai que ce cours a un pré-requis "caché" qui est la POO. Même si j'ai essayé de minimiser la complexité, il vaut mieux avoir quelques bases sur ce sujet pour avancer confortablement. Je vous conseille d'étudier le début (paragraphes 1 et 2 du 1er chapitre) du cours OpenClassrooms sur la POO en PHP, ainsi que cette introduction bien faite. Pour aller un peu plus loin, vous pouvez essayer de lire mon cours sur le sujet, notamment le chapitre sur la relation d'association. Il utilise le langage C# pour les exemples de code, mais les concepts expliqués sont les mêmes.

          Bon courage !

          • Partager sur Facebook
          • Partager sur Twitter
            26 février 2015 à 12:31:13

            Bonjour à tous.

            Totalement débutant avec silex, POO et twig, je rame depuis 3 jours. Mon devoir est à la correction mais les liens vers le détail d'un livre ne fonctionne pas. J'ai repris plusieurs fois depuis le début sans succès.

            Aucun souci avec le Vhost, le sql, intégration bootstrap, silex et twig.

            Cours très intéressant. Un grand merci Baptiste.

            • Partager sur Facebook
            • Partager sur Twitter

            Manu pour "Les Sens Du Web"

              26 février 2015 à 13:26:22

              Bonjour,

              Dans l'itération 10, Gestion des articles, le "delete" ne fonctionne pas. J'ai revu tout ce qu j'ai pu, mais je ne trouve pas l'erreur.

              Merci pour l'aide

              • Partager sur Facebook
              • Partager sur Twitter
                27 février 2015 à 17:49:56

                Gil8925 a écrit:

                Bonjour,

                Dans l'itération 10, Gestion des articles, le "delete" ne fonctionne pas. J'ai revu tout ce qu j'ai pu, mais je ne trouve pas l'erreur.

                Merci pour l'aide

                Bonjour,

                Quel est le message d'erreur obtenu ?

                Avez-vous pensé à supprimer d'abord les commentaires associés (appel à deleteAllByArticle) avant de supprimer l'article ?

                • Partager sur Facebook
                • Partager sur Twitter
                  27 février 2015 à 19:44:37

                  bpesquet a écrit:

                  brisso a écrit:

                  bpesquet a écrit:

                  brisso a écrit:

                  Iteration 12

                  après avoir ajouté le décodeur json, je n'arrive plus a accéder à l'application.

                  // Register JSON data decoder for JSON requests
                  $app->before(function (Request $request) {
                      if (0 === strpos($request->headers->get('Content-Type'), 'application/json')) {
                          $data = json_decode($request->getContent(), true);
                          $request->request->replace(is_array($data) ? $data : array());
                      }
                  });

                  et dès que je commente ce dernier, tout fonctionne À nouveau.

                  Merci d'avance

                  Peux-tu citer le message d'erreur exact, s'il y en a un ?


                  afin d'avoir une erreur plus détaillé, j'ai desactivé l error handler, et voici ce qui en resulte:

                  Whoops, looks like something went wrong.
                  
                  1/1
                  ContextErrorException in app.php line 96:
                  Catchable Fatal Error: Argument 1 passed to {closure}() must be an instance of Request, instance of Symfony\Component\HttpFoundation\Request given
                  in app.php line 96
                  at ErrorHandler->handleError('4096', 'Argument 1 passed to {closure}() must be an instance of Request, instance of Symfony\Component\HttpFoundation\Request given', 'C:\xampp\htdocs\microcms\app\app.php', '96', array()) in app.php line 96
                  at {closure}(object(Request), object(Application))
                  at call_user_func(object(Closure), object(Request), object(Application)) in Application.php line 316
                  at Application->Silex\{closure}(object(GetResponseEvent), 'kernel.request', object(TraceableEventDispatcher))
                  at call_user_func(object(Closure), object(GetResponseEvent), 'kernel.request', object(TraceableEventDispatcher)) in WrappedListener.php line 61
                  at WrappedListener->__invoke(object(GetResponseEvent), 'kernel.request', object(EventDispatcher))
                  at call_user_func(object(WrappedListener), object(GetResponseEvent), 'kernel.request', object(EventDispatcher)) in EventDispatcher.php line 164
                  at EventDispatcher->doDispatch(array(object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener)), 'kernel.request', object(GetResponseEvent)) in EventDispatcher.php line 53
                  at EventDispatcher->dispatch('kernel.request', object(GetResponseEvent)) in TraceableEventDispatcher.php line 112
                  at TraceableEventDispatcher->dispatch('kernel.request', object(GetResponseEvent)) in HttpKernel.php line 126
                  at HttpKernel->handleRaw(object(Request), '1') in HttpKernel.php line 66
                  at HttpKernel->handle(object(Request), '1', true) in Application.php line 543
                  at Application->handle(object(Request)) in Application.php line 520
                  at Application->run() in index.php line 14

                  Cette erreur indique que la classe Request n'est pas reconnue. Il manque probablement l'instruction ci-dessous dans app/app.php.

                  use Symfony\Component\HttpFoundation\Request;


                  cela a effectivement résolu le problème - merci. mais une chose m'echappe, pourquoi dois-je inclure cette instruction dans app/app.php ET dans app/routes.php ??

                  etant donné que les 2 fichiers sont inclus dans web/index.php

                  • Partager sur Facebook
                  • Partager sur Twitter
                    28 février 2015 à 14:52:39

                    bpesquet a écrit:

                    Gil8925 a écrit:

                    Dans l'itération 10, Gestion des articles, le "delete" ne fonctionne pas...

                    bpesquet a écrit:

                    Bonjour,

                    Quel est le message d'erreur obtenu ?

                    Avez-vous pensé à supprimer d'abord les commentaires associés (appel à deleteAllByArticle) avant de supprimer l'article ?


                    Bonjour,

                    Je n'ai pas de message d'erreur.

                    Relativement à la suppression préalable des commentaires associés, j'ai copié les codes du tuto.

                    Il est possible que mon problème tienne au fait que je n'ai pas créé d'hôte virtuel (sur mon hébergeur, je crois qu'il aurait fallu que je crée un sous-domaine). J'ajoute donc le chemin qui manque aux liens dans les codes (../MicroCMS/web/). Jusqu'à présent, cela fonctionnait, mais je ne l'ai peut-être pas fait partout comme il faut.

                    Merci

                    -
                    Edité par Gil8925 28 février 2015 à 14:56:07

                    • Partager sur Facebook
                    • Partager sur Twitter
                      1 mars 2015 à 10:32:49

                      Problème itération 11: erreur timezone

                      D'abord merci pour ce cours !

                      J'ai rencontré un problème à l'itération 11 concernant la journalisation et le débogage avec une erreur de timezone. Je partage simplement la solution si quelqu'un rencontre le même problème.

                      Le problème est que par défaut sur ma config MAC OS, avec apache natif donc sans MAMP le timezone n'est définit. La solution est donc de le définir dans le fichier php.ini. Il faut décommenter les deux dernières ligne de ce bloque puis après le "=" en ce qui me concerne mettre "Europe/Paris".

                      [Date]
                      ; Defines the default timezone used by the date functions
                      ;http://php.net/date.timezone
                      ;date.timezone =

                      Voila tout, bonne continuation à tous !

                      • Partager sur Facebook
                      • Partager sur Twitter
                        2 mars 2015 à 2:33:03

                        bonjour, je viens de terminer de regarder la correction de l'activité 1 ("mybooks") et j'aurai de question:

                        1) dans le fichier layout.htlm.twig a quoi servent  les instructions  {% autoescape %} et {% endautoescape %} encadrant la ligne 28

                                <div id="content">{% block content %}{% endblock %}</div>

                        2) dans AuthorDAO j'ai une function findAuthor($id)

                            public function findAuthor($id) {
                                $sql = "select * from author where auth_id=?";
                                $row = $this->getDb()->fetchAssoc($sql, array($id));
                                return $this->buildDomainObject($row);
                            }	
                        

                        Elle fonctionne trés bien pour les 3 livres. par contre si je mets le if et else autour du return

                                if ($row)
                                    return $this->buildDomainObject($row);
                                else
                                    throw new \Exception("No author matching id " . $id);

                        j'aurais les details pour les deux premier livre mais quant je clique sur le troisieme (Le Dahlia noir) j ai droit au message d'erreur suivant:

                        Exception in AuthorDAO.php line 22: No author matching id 3




                        • Partager sur Facebook
                        • Partager sur Twitter
                          2 mars 2015 à 10:09:30

                          gilles883 a écrit:

                          j'aurais les details pour les deux premier livre mais quant je clique sur le troisieme (Le Dahlia noir) j ai droit au message d'erreur suivant:

                          Exception in AuthorDAO.php line 22: No author matching id 3

                          Bonjour Gilles,

                          La réponse est dans le message d'erreur : "No author matching id 3".

                          La fonction a l'air de recevoir comme paramètre l'identifiant du livre (3) au lieu de celui de l'auteur (2)

                          • Partager sur Facebook
                          • Partager sur Twitter
                            3 mars 2015 à 9:11:44

                            vince9412 a écrit:

                            Problème itération 11: erreur timezone

                            D'abord merci pour ce cours !

                            J'ai rencontré un problème à l'itération 11 concernant la journalisation et le débogage avec une erreur de timezone. Je partage simplement la solution si quelqu'un rencontre le même problème.

                            Le problème est que par défaut sur ma config MAC OS, avec apache natif donc sans MAMP le timezone n'est définit. La solution est donc de le définir dans le fichier php.ini. Il faut décommenter les deux dernières ligne de ce bloque puis après le "=" en ce qui me concerne mettre "Europe/Paris".

                            [Date]
                            ; Defines the default timezone used by the date functions
                            ;http://php.net/date.timezone
                            ;date.timezone =

                            Voila tout, bonne continuation à tous !

                            Bonjour,

                            Merci d'avoir partagé votre solution. Ce problème me rappelle quelque chose mais je ne suis pas arrivé à le reproduire chez moi. Pouvez-vous donner plus de détails sur l'erreur que vous obteniez ?

                            • Partager sur Facebook
                            • Partager sur Twitter
                              3 mars 2015 à 9:29:57

                              brisso a écrit:

                              bpesquet a écrit:

                              Cette erreur indique que la classe Request n'est pas reconnue. Il manque probablement l'instruction ci-dessous dans app/app.php.

                              use Symfony\Component\HttpFoundation\Request;


                              cela a effectivement résolu le problème - merci. mais une chose m'echappe, pourquoi dois-je inclure cette instruction dans app/app.php ET dans app/routes.php ??

                              etant donné que les 2 fichiers sont inclus dans web/index.php


                              Cette instruction use est indispensable dans les fichiers app.php et routes.php pour pouvoir, dans ces fichiers, utiliser la classe Request sans devoir la préfixer par "Symfony\Component\HttpFoundation\". Ils sont tous deux inclus dans web/index.php mais ne se "voient" pas l'un l'autre, donc il faut une instruction use dans chaque fichier.
                              • Partager sur Facebook
                              • Partager sur Twitter
                                3 mars 2015 à 9:45:58

                                gilles883 a écrit:

                                bonjour, je viens de terminer de regarder la correction de l'activité 1 ("mybooks") et j'aurai de question:

                                1) dans le fichier layout.htlm.twig a quoi servent  les instructions  {% autoescape %} et {% endautoescape %} encadrant la ligne 28

                                        <div id="content">{% block content %}{% endblock %}</div>

                                Bonjour,

                                Ces instructions servent à automatiser l'échappement des variables insérées dans les vues, pour éviter les attaques par injection de code. Il s'agit d'une erreur de ma part, Twig réalise l'échappement par défaut et ces instructions sont parfaitement inutiles.

                                Gilless57 a répondu à votre autre question. Etes-vous sûr de ne pas passer un $bookId au lieu d'un $authorId à la méthode findAuthor() ?

                                Cdlt,

                                Baptiste

                                • Partager sur Facebook
                                • Partager sur Twitter
                                  3 mars 2015 à 17:03:39

                                  Bonjour,

                                  Je tente de faire le TP. J'en suis à créer le formulaire pour insérer un nouveau lien.

                                  J'ai ce message d'erreur : identifier form.factory is not defined

                                  Bon, je rappelle que je ne suis pas expert en POO. J'ai beau comparer par rapport au code de l'itération 10...mais je ne vois pas ce qui cloche.

                                  Merci pour votre aide.

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    3 mars 2015 à 17:25:44

                                    bpesquet a écrit:

                                    Gilless57 a répondu à votre autre question. Etes-vous sûr de ne pas passer un $bookId au lieu d'un $authorId à la méthode findAuthor() ?

                                    Cdlt,

                                    Baptiste


                                    merci à vous et à Gilless57 pour votre réponse

                                    A l' appel de ma fonction je passe bien  le paramètre auth_id

                                    $authorId = $row['auth_id'];
                                    $author = $this->authorDAO->findAuthor($authorId);

                                     là ou je comprend pas c'est que pour les 2 premier livres j'ai les bonnes information qui sortent et si j'enleve le if ($row) ainsi que le

                                    else
                                    throw new \Exception("No author matching id " . $id);
                                     j ai le bon résultat pour le 3ième livre aussi

                                     il semblerai que mon erreur vienne de mon fichier route.php

                                    $app->get('/book/{id}', function ($id) use ($app) 
                                    {
                                        $book = $app['dao.book']->find($id);
                                        $author = $app['dao.author']->findAuthor($id);
                                        return $app['twig']->render('book.html.twig', array('book' => $book, 'author' => $author));
                                    });

                                    dans AuthorDAO - function findAuthor($id) il utilise bien la valeur auth_id que j'y est passé en paramètre pour chercher l'auteur mais apres il fait les test"if ($row)" sur id du livre

                                    -
                                    Edité par gilles883 3 mars 2015 à 18:11:37

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      4 mars 2015 à 11:29:10

                                      Bonjour,

                                      Le lien de l'exercice final pour ceux qui n'utilise pas Git amène sur le fichier OC-MyBooks-master.zip au lieu de OC-WebLinks.zip

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        4 mars 2015 à 21:14:15

                                        Bon, je suis toujours bloqué...et je n'ai pas de solutions.

                                        Voici la partie ajoutée dans mon routes.php

                                        // Add a new link
                                        $app->match('/link/submit', function(Request $request) use ($app) {
                                            $link = new Link();
                                            $linkForm = $app['form.factory']->create(new LinkType(), $link);
                                            $linkForm->handleRequest($request);
                                            if ($linkForm->isSubmitted() && $linkForm->isValid()) {
                                                $app['dao.link']->save($article);
                                                $app['session']->getFlashBag()->add('success', 'The link was successfully created.');
                                            }
                                            return $app['twig']->render('link.html.twig', array(
                                                'title' => 'New article',
                                                'articleForm' => $linkForm->createView()));
                                        });

                                        J'ai crée le fichier linktype.php avec ceci

                                        namespace WebLinks\Form\Type;
                                        
                                        use Symfony\Component\Form\AbstractType;
                                        use Symfony\Component\Form\FormBuilderInterface;
                                        
                                        class LinkType extends AbstractType
                                        {
                                            public function buildForm(FormBuilderInterface $builder, array $options)
                                            {
                                                $builder
                                                    ->add('title', 'text')
                                                    ->add('URL', 'text');
                                            }
                                        
                                            public function getName()
                                            {
                                                return 'link';
                                            }
                                        }

                                        Et là....ça bloque avec cette erreur

                                        InvalidArgumentException in Pimple.php line 78:
                                        Identifier "form.factory" is not defined.
                                        in Pimple.php line 78
                                        at Pimple->offsetGet('form.factory') in routes.php line 25
                                        at {closure}(object(Request))
                                        at call_user_func_array(object(Closure), array(object(Request))) in HttpKernel.php line 145
                                        at HttpKernel->handleRaw(object(Request), '1') in HttpKernel.php line 66
                                        at HttpKernel->handle(object(Request), '1', true) in Application.php line 543
                                        at Application->handle(object(Request)) in Application.php line 520
                                        at Application->run() in index.php line 11

                                        Merci pour votre aide...et m'aider à comprendre.



                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          4 mars 2015 à 23:41:43

                                          voici le lien pour telecharger l'exercice final.

                                          https://github.com/bpesquet/OC-WebLinks/

                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            5 mars 2015 à 0:02:12

                                            bpesquet a écrit:

                                            vince9412 a écrit:

                                            Problème itération 11: erreur timezone

                                            D'abord merci pour ce cours !

                                            J'ai rencontré un problème à l'itération 11 concernant la journalisation et le débogage avec une erreur de timezone. Je partage simplement la solution si quelqu'un rencontre le même problème.

                                            Le problème est que par défaut sur ma config MAC OS, avec apache natif donc sans MAMP le timezone n'est définit. La solution est donc de le définir dans le fichier php.ini. Il faut décommenter les deux dernières ligne de ce bloque puis après le "=" en ce qui me concerne mettre "Europe/Paris".

                                            [Date]
                                            ; Defines the default timezone used by the date functions
                                            ;http://php.net/date.timezone
                                            ;date.timezone =

                                            Voila tout, bonne continuation à tous !

                                            Bonjour,

                                            Merci d'avoir partagé votre solution. Ce problème me rappelle quelque chose mais je ne suis pas arrivé à le reproduire chez moi. Pouvez-vous donner plus de détails sur l'erreur que vous obteniez ?

                                            Voici l'erreur obtenue si le timezone n'est pas bien définit :

                                            ContextErrorException in Logger.php line 248:Warning: date_default_timezone_get(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone.

                                            Donc si vous rencontrez cette erreur, il faut modifier le php.ini comme ceci (faire une recherche par mot "timezone"):

                                            [Date]
                                            ; Defines the default timezone used by the date functions
                                            http://php.net/date.timezone
                                            date.timezone = Europe/Paris



                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              6 mars 2015 à 20:03:22

                                              Bonjour, je suis bloqué à l'itération 7 

                                              j'obtiens un The requested URL /article/1 was not found on this server.  Comment faire car s'il faut modifier .htaccess je ne sais pas comment faire, et mod_rewrite est bien activé

                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                7 mars 2015 à 10:03:54

                                                Bonjour, 

                                                J'ai commencé le cours qui est très complet ! Cependant, j'aurais aimé savoir comment proposer plusieurs thèmes graphiques (un peu comme dans Wordpress) ? 

                                                Merci d'avance ! 

                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  8 mars 2015 à 12:29:47


                                                  Bonjour, j'ai le même souci que Laurent j'ai tout relu de l'itération 8, et lorsque j'essaie d'ouvrir la page de login, j'ai ce message.


                                                  Merci d'avance pour votre aide


                                                  Laurent77400 a écrit:

                                                  Bonjour,

                                                  Je viens de faire l'Itération 8, avec l'authentification.

                                                  Je pense avoir bien suivi toutes les consignes, mais au clic sur le menu Login, j'obtiens cette page d'erreur :

                                                  Whoops, looks like something went wrong.

                                                  1/1 ReflectionException in ControllerResolver.php line 43: Class Request does not exist

                                                  1. in ControllerResolver.php line 43
                                                  2. at ReflectionParameter->getClass() in ControllerResolver.php line 43
                                                  3. at ControllerResolver->doGetArguments(object(Request), object(Closure), array(object(ReflectionParameter))) in ControllerResolver.php line 105
                                                  4. at ControllerResolver->getArguments(object(Request), object(Closure)) in HttpKernel.php line 142
                                                  5. at HttpKernel->handleRaw(object(Request), '1') in HttpKernel.php line 66
                                                  6. at HttpKernel->handle(object(Request), '1', true) in Application.php line 543
                                                  7. at Application->handle(object(Request)) in Application.php line 520
                                                  8. at Application->run() in index.php line 11

                                                  Merci à qui pourrait avoir une idée



                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    8 mars 2015 à 12:43:56


                                                    Re bonjour, 

                                                    J'ai trouvé après 4 eme relecture....

                                                    Il faut insérer dans le fichier routes.php la ligne suivante

                                                    use Symfony\Component\HttpFoundation\Request;



                                                    Burg Clement a écrit:


                                                    Bonjour, j'ai le même souci que Laurent j'ai tout relu de l'itération 8, et lorsque j'essaie d'ouvrir la page de login, j'ai ce message.


                                                    Merci d'avance pour votre aide


                                                    Laurent77400 a écrit:

                                                    Bonjour,

                                                    Je viens de faire l'Itération 8, avec l'authentification.

                                                    Je pense avoir bien suivi toutes les consignes, mais au clic sur le menu Login, j'obtiens cette page d'erreur :

                                                    Whoops, looks like something went wrong.

                                                    1/1 ReflectionException in ControllerResolver.php line 43: Class Request does not exist

                                                    1. in ControllerResolver.php line 43
                                                    2. at ReflectionParameter->getClass() in ControllerResolver.php line 43
                                                    3. at ControllerResolver->doGetArguments(object(Request), object(Closure), array(object(ReflectionParameter))) in ControllerResolver.php line 105
                                                    4. at ControllerResolver->getArguments(object(Request), object(Closure)) in HttpKernel.php line 142
                                                    5. at HttpKernel->handleRaw(object(Request), '1') in HttpKernel.php line 66
                                                    6. at HttpKernel->handle(object(Request), '1', true) in Application.php line 543
                                                    7. at Application->handle(object(Request)) in Application.php line 520
                                                    8. at Application->run() in index.php line 11

                                                    Merci à qui pourrait avoir une idée





                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      8 mars 2015 à 21:26:10

                                                      Question...

                                                      Je ne peut rien faire face a cet exigence pour la dernière activité, je traîne 3 erreur et elle ressorte de mes formulaires pour les liens.

                                                      • Tests fonctionnels automatisés des URL de consultation (6 URL à tester).

                                                      Tout fonctionne mais pas le teste phpunit.bat. Je traîne les erreur depuis l'intégration des test tel que vue dans le cours et la première erreur as été sur ma ligne 12 de mon formulaire twig que voila :

                                                      {{ form_start(linkForm, { 'attr': {'class': 'form-horizontal'} }) }}

                                                      Je suis presque a boute je pense valider l'activité sans règlé le probleme ma s sa me coutera un ou 2 beau point =)

                                                      Bref j'ai terminé et voici le résultat du test :

                                                      PHPUnit 4.5.0 by Sebastian Bergmann and contributors.
                                                      
                                                      Configuration read from C:\Server Files\wamp\www\openclassroom\WebLinks\phpunit.
                                                      xml.dist
                                                      
                                                      ..F.FF..
                                                      
                                                      Time: 2.16 seconds, Memory: 31.00Mb
                                                      
                                                      There were 3 failures:
                                                      
                                                      1) WebLinks\Tests\AppTest::testPageIsSuccessful with data set #2 ('/link/submit'
                                                      )
                                                      Failed asserting that false is true.
                                                      
                                                      C:\Server Files\wamp\www\openclassroom\WebLinks\tests\Tests\AppTest.php:23
                                                      
                                                      2) WebLinks\Tests\AppTest::testPageIsSuccessful with data set #4 ('/admin/link/a
                                                      dd')
                                                      Failed asserting that false is true.
                                                      
                                                      C:\Server Files\wamp\www\openclassroom\WebLinks\tests\Tests\AppTest.php:23
                                                      
                                                      3) WebLinks\Tests\AppTest::testPageIsSuccessful with data set #5 ('/admin/link/1
                                                      /edit')
                                                      Failed asserting that false is true.
                                                      
                                                      C:\Server Files\wamp\www\openclassroom\WebLinks\tests\Tests\AppTest.php:23
                                                      
                                                      FAILURES!
                                                      Tests: 8, Assertions: 8, Failures: 3.

                                                      Demain si j'ai pas de réponse et je n'ai pas trouvé!

                                                      J'envoie mon fichier tel quel. (Car tout fonctionne bien)

                                                      Et une seconde question. Dois-t'ont avoir terminer la correction de l'activité d'ici la fin du temps!

                                                      Merci et bonne chance.

                                                      -
                                                      Edité par Dathur7 8 mars 2015 à 22:44:16

                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        8 mars 2015 à 23:34:57

                                                        wfblake724 a écrit:

                                                        Question...

                                                        Je ne peut rien faire face a cet exigence pour la dernière activité, je traîne 3 erreur et elle ressorte de mes formulaires pour les liens.

                                                        • Tests fonctionnels automatisés des URL de consultation (6 URL à tester).

                                                        Tout fonctionne mais pas le teste phpunit.bat. Je traîne les erreur depuis l'intégration des test tel que vue dans le cours et la première erreur as été sur ma ligne 12 de mon formulaire twig que voila :

                                                        {{ form_start(linkForm, { 'attr': {'class': 'form-horizontal'} }) }}

                                                        Je suis presque a boute je pense valider l'activité sans règlé le probleme ma s sa me coutera un ou 2 beau point =)

                                                        Bref j'ai terminé et voici le résultat du test :

                                                        PHPUnit 4.5.0 by Sebastian Bergmann and contributors.
                                                        
                                                        Configuration read from C:\Server Files\wamp\www\openclassroom\WebLinks\phpunit.
                                                        xml.dist
                                                        
                                                        ..F.FF..
                                                        
                                                        Time: 2.16 seconds, Memory: 31.00Mb
                                                        
                                                        There were 3 failures:
                                                        
                                                        1) WebLinks\Tests\AppTest::testPageIsSuccessful with data set #2 ('/link/submit'
                                                        )
                                                        Failed asserting that false is true.
                                                        
                                                        C:\Server Files\wamp\www\openclassroom\WebLinks\tests\Tests\AppTest.php:23
                                                        
                                                        2) WebLinks\Tests\AppTest::testPageIsSuccessful with data set #4 ('/admin/link/a
                                                        dd')
                                                        Failed asserting that false is true.
                                                        
                                                        C:\Server Files\wamp\www\openclassroom\WebLinks\tests\Tests\AppTest.php:23
                                                        
                                                        3) WebLinks\Tests\AppTest::testPageIsSuccessful with data set #5 ('/admin/link/1
                                                        /edit')
                                                        Failed asserting that false is true.
                                                        
                                                        C:\Server Files\wamp\www\openclassroom\WebLinks\tests\Tests\AppTest.php:23
                                                        
                                                        FAILURES!
                                                        Tests: 8, Assertions: 8, Failures: 3.

                                                        Demain si j'ai pas de réponse et je n'ai pas trouvé!

                                                        J'envoie mon fichier tel quel. (Car tout fonctionne bien)

                                                        Et une seconde question. Dois-t'ont avoir terminer la correction de l'activité d'ici la fin du temps!

                                                        Merci et bonne chance.

                                                        Bonjour wfblake724, j'ai le même problème que toi concernant la validation de phpunit...je cherche également mais je ne trouve pas...par contre pour ma part, je suis dans Admin/link/submit (je dois avoir le role Admin pour pouvoir rajouter une Url...)

                                                        c:\wamp\www\WebLinks>vendor\bin\phpunit.bat

                                                        PHPUnit 4.5.0 by Sebastian Bergmann and contributors.

                                                        Configuration read from C:\wamp\www\WebLinks\phpunit.xml.dist

                                                        ...F..

                                                        Time: 1.09 seconds, Memory: 19.75Mb

                                                        There was 1 failure:

                                                        1) WebLinks\Tests\AppTest::testPageIsSuccessful with data set #3 ('/admin/link/s

                                                        ubmit')

                                                        Failed asserting that false is true.

                                                        C:\wamp\www\WebLinks\tests\Tests\AppTest.php:23

                                                        FAILURES!

                                                        Tests: 6, Assertions: 6, Failures: 1.

                                                        c:\wamp\www\WebLinks>

                                                        Si quelqu'un a une idée ??? merci d'avance



                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          8 mars 2015 à 23:53:40

                                                          Je précise mes URL. Et de mon côté c'est une certitude que le problème roule dans le fichier Type (LinkType.php) et les Formulaire utilisant les fonctionnalité Symfony et affiché par Twig. Par contre le fichier (UserType.php) que j'ai copier et retaper lui ne cause aucune erreur...

                                                              public function provideUrls()
                                                              {
                                                                  return array(
                                                                      array('/'),
                                                                      array('/login'),
                                                                      //array('/link/submit'),
                                                                      array('/admin'),
                                                                      //array('/admin/link/add'),
                                                                      //array('/admin/link/1/edit'),
                                                                      array('/admin/user/add'),
                                                                      array('/admin/user/1/edit'),
                                                                      ); 
                                                              }

                                                          Je continue de chercher. Il doit y avoir une bonne explication. J'ai fait du Copy/Past et j'ai tout re-typer les codes, mais je doit avoir oublier quelque-chose ou je ne m'y connais pas assez.

                                                          Ce qui est drôle c'est que toutes les fonctionnalité sont en place (je le jure que tout fonctionne) et phpunit.bat me ressort des erreurs.

                                                          De mon côté j'ai compléter ce qui est optionnel. J'ai 8 Adresse a vérifier, et les 3 en commentaire me retourne des «Failure».

                                                          Si je trouve quelque-chose j'afficherai!

                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                            9 mars 2015 à 0:37:01

                                                            gnout,

                                                            voila possiblement ton erreur... mais je suis vraiment pas certain vu que tu roule ton ajout de lien en administration...

                                                            Je ne suis jamais dans la faille très longtemps... de mon côté j'avais oublier une structure if que voila (pour mon fichier Twig linkSubmit.html.twig)...

                                                            {% if linkForm %}
                                                             Content
                                                            {% else %}
                                                            <a href="{{ path('login') }} ">Log in</a> to submit a link.
                                                            {% endif %}

                                                            Mais pour l'administration de lien sa reste a voir. l'inclusion de ce code dans mon fichier linkForm.html.twig n'as rien fait aux «Failure»

                                                            Il me reste 2 Failles. et que peut vouloir dire :

                                                            1) WebLinks\Tests\AppTest::testPageIsSuccessful with data set #4 ('/admin/link/add')
                                                            Failed asserting that false is true.

                                                            Je précise, dans le log! Cette erreur est mon record de longueur! Et elle est critique!

                                                            [2015-03-09 00:15:30] WebLinks.INFO: Populated SecurityContext with an anonymous Token [] []
                                                            [2015-03-09 00:15:30] WebLinks.INFO: > GET /admin/link/add [] []
                                                            [2015-03-09 00:15:30] WebLinks.CRITICAL: Symfony\Component\Debug\Exception\ContextErrorException: Catchable Fatal Error: Argument 1 passed to WebLinks\Domain\Link::setAuthor() must be an instance of WebLinks\Domain\User, string given, called in C:\Server Files\wamp\www\openclassroom\WebLinks\src\Controller\AdminController.php on line 33 and defined (uncaught exception) at C:\Server Files\wamp\www\openclassroom\WebLinks\src\Domain\Link.php line 65 {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\ContextErrorException(code: 0): Catchable Fatal Error: Argument 1 passed to WebLinks\\Domain\\Link::setAuthor() must be an instance of WebLinks\\Domain\\User, string given, called in C:\\Server Files\\wamp\\www\\openclassroom\\WebLinks\\src\\Controller\\AdminController.php on line 33 and defined at C:\\Server Files\\wamp\\www\\openclassroom\\WebLinks\\src\\Domain\\Link.php:65)"} []
                                                            [2015-03-09 00:15:30] WebLinks.INFO: < 500 [] []


                                                            Ligne 31, 32, 33

                                                            $user=$app['security']->getToken()->getUser();
                                                            $link=new Link();
                                                            $link->setAuthor($user);

                                                            Tout fonctionne et j'ai une erreur Critique... Jamais j'ai vu sa!

                                                            Je retourne retaper les code.. A+ et encore bonne chance

                                                            Tout est retapé! Voila le petit contour de controlleur HAHA!!!  xD J'avais gardé cette variable au cas ou dans les test!

                                                            $app['dao.link']->save($app['security']->getToken()->getUser()->getId(), $link);
                                                            	public function save($usrid, Link $link) {
                                                            		$linkData=array(
                                                            			'user_id'			=>$usrid,
                                                            			'link_title'	=>$link->getTitle(),
                                                            			'link_url'		=>$link->getUrl()
                                                            		);
                                                            //...

                                                            Ont est jamais mieux servis que par sois même...

                                                            PHPUnit 4.5.0 by Sebastian Bergmann and contributors.
                                                            
                                                            Configuration read from C:\Server Files\wamp\www\openclassroom\WebLinks\phpunit.
                                                            xml.dist
                                                            
                                                            ........
                                                            
                                                            Time: 2.28 seconds, Memory: 30.50Mb
                                                            
                                                            OK (8 tests, 8 assertions)



                                                            -
                                                            Edité par Dathur7 9 mars 2015 à 1:58:23

                                                            • Partager sur Facebook
                                                            • Partager sur Twitter
                                                              9 mars 2015 à 22:21:40

                                                              wflblake724,

                                                              En fait, j'ai du mal à comprendre la différence entre les 2 méthodes : le setAuthor($user) fonctionne effectivement correctement, ihm ok, insert en base ok et pourtant le phpunit me renvoie une failure sur l'url  link/submit (je ne suis plus en admin, en fait je m'étais planté)

                                                              par contre, j'ai l'impression que nous n'accédons pas de la même manière au formulaire --> layout.html.twig pour ma part

                                                              <ul class="nav navbar-nav navbar-left">

                                                                                      {% if app.security.token and is_granted('IS_AUTHENTICATED_FULLY') %}

                                                                                          <li><a href="/link/submit"><span></span> Submit link</a></li>

                                                                                      {% endif %}

                                                                                  </ul>   

                                                              merci beaucoup pour ton aide...en ce qui me concerne je livre avec ma failure...ça sera surement pas la dernière ;-)

                                                              au plaisir 

                                                              Gnout


                                                              • Partager sur Facebook
                                                              • Partager sur Twitter

                                                              Cours Architecture PHP professionnelle / Questions

                                                              × 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