Tutoriel PHP : Créer un Router

Поділитися
Вставка
  • Опубліковано 30 січ 2025

КОМЕНТАРІ • 48

  • @Mohamed6s
    @Mohamed6s 9 років тому +1

    T'es le best mon gars! t'aide beaucoup

  • @abdoulhakimali5930
    @abdoulhakimali5930 9 років тому

    vous êtes très fort.merci pour les tutos

  • @cissedesign6358
    @cissedesign6358 Рік тому

    Merci beaucoup pour la vidéo, je vois qu'elle date de 2015, es-ce toujours d'actualité d'utiliser le système de routing comme ça ou il y'a des améliorations possibles aujourd'hui en 2023...

  • @bimg3158
    @bimg3158 2 роки тому

    Merci pour le tuto, un petit souci lorsque j'essaie d'exécuter l'application via le cli, au niveau du navigateur dans la barre de recherche on voie bien que le lien a changer par contre le contenu elle ne change pas. Auriez vous idée?

  • @watsonweb8910
    @watsonweb8910 7 років тому

    Juste une question de debutant.
    si je dois gerer la validation d'un formulaire ou le traitement d'un exercice, les fonctions du formulaire ou des exo serons stokés dans un fichier function.
    la question est comment dois je appelé ces fonction et ou dois je les positionés. Merci pour la reponse

  • @CreateYourWebsites
    @CreateYourWebsites 9 років тому

    tres bon prof !!

  • @anthonyblanchard6774
    @anthonyblanchard6774 6 років тому

    Bonjour, merci pour ce tuto qui est bien sympa, j'ai cependant un petit problème, j'ai lié ce routeur à une classe de template, et il ne me fait pas la liaison avec les fichier CSS, auriez vous une idée d’où cela pourrait venir ?

  • @bimg3158
    @bimg3158 3 роки тому

    j ai rencontrer un souci, lorque j'utilise une method statique. la method s execute directement sans pour autant que j'appel cette route

  • @exoticbubble5974
    @exoticbubble5974 7 років тому

    Bonjour, j'aimerais savoir si c'est possible de cacher la variable id dans le url SVP Merci

  • @grophies
    @grophies 7 років тому

    Bonjour,
    très bon tutoriel! l'URL rewriting en htaccess, c'est une galère et on est dépendant des serveurs apaches.
    Est-ce qu'il possible avec ce système de gérer le cas de pages qui n'existent pas ? Par exemple en faisant une redirection vers une page 404.
    Si on met en place un système MVC, qu'est-ce qu'il faut appeler dans la page index.php ? la vue ou le controleur ?

  • @SevenDareK
    @SevenDareK 9 років тому +1

    #citiesskylines pour la miniature ;) Superbe vidéo.

  • @maximemazet3077
    @maximemazet3077 6 років тому +1

    Bonjour comment on peut avoir acces a $router (variable dans index.php) dans nos controller ?

  • @l4p1n
    @l4p1n 9 років тому

    Cities Skylines avec une intersection en guise de miniature, original ^^

  • @MalkomsTV
    @MalkomsTV 5 років тому

    Super tuto ;)

  • @WelliDon
    @WelliDon 7 років тому

    C'est beau !

  • @Bobynouz
    @Bobynouz 4 роки тому

    Bonjour, un tuto qui m'a bien aider. Par contre je ne comprend pas comment passer les valeurs d'un formulaire car si par exemple je fais $router->post('/page', 'controler#function') ça ne fonctionne pas.
    Merci.

  • @ighmouraceneb
    @ighmouraceneb 6 років тому

    Merci pour la vidéo, j'ai seulement un petit problème concernant les liens. imaginons si on un menu qui permet d 'afficher les autres pages, quand on affiche un article spécifique et ensuite on veut revenir à la page de tous les articles, il remplace l'id dans l'url par posts : Router/posts/5 => Router/posts/posts. Est ce qu'on doit gérer ça en .htaccess? quelqu'un a une solution?

  • @clembois1
    @clembois1 8 років тому +1

    Super video mais j'ai un petit problème, comment faire pour utiliser $router->url() depuis un Controller?

  • @Daniel-wt9bh
    @Daniel-wt9bh 7 років тому

    et si je veux utiliser action="/posts" quand je submit?

  • @steeven1162
    @steeven1162 9 років тому +1

    Salut, qu'elle est la difference entre ce router en PHP et un url rewriting avec un .htaccess ?
    Merci d'avance

    • @quenti7728
      @quenti7728 8 років тому

      Je réagis un peu tard mais je dirais la flexibilité et la simplicité dans la façons de faire. Le but c'est de gérer tout ce qu'on faisais en htaccess en php car la syntaxe est plus claire (je trouve).

  • @kurisu-game
    @kurisu-game 9 років тому

    Super vidéo, cela dit on pourrait grandement simplifié le système de router je pense. Côté classe de routing je n'ai pas encore réfléchis, mais concernant les routes elles même, là c'est un peut galère.
    En gérant depuis un tableau, contenant lui même des tableaux pour les conditions (les fameux with), on pourrait avoir un système de route plus simple à l'utilisation, à modifier et qui en plus pourrait être modifié directement via le site dans le panel d'admin via un système de formulaire.

    • @quenti7728
      @quenti7728 8 років тому

      Je réponds un peu tard mais je voudrais quand même réagir.
      Le but de la POO c'est justement de faire en sorte de manipuler des objets et de cacher aux utilisateurs la partie "chiante" de la gestion d'UNE route.
      Depuis la vidéo j'ai refais mon routing 3 fois et maintenant j'ai une classe pour gérer le router en lui même, une classe pour représenter une route, une autre pour avoir un groupe de routes etc.

    • @grophies
      @grophies 7 років тому

      Au lieu d'un tableau, on pourrait utiliser une classe.

  • @leandreyahou742
    @leandreyahou742 6 років тому

    merci pour le tuto mais une question comment j'accède à $router dans PostsController pour générer mes urls ???

    • @HisokaXKuroro1
      @HisokaXKuroro1 5 років тому

      tu dois utiliser le design pattern Singleton

    • @quenti7728
      @quenti7728 5 років тому +1

      @@HisokaXKuroro1 Ou pas pauvre fou ^^
      Le Singleton est un pattern qui ne doit être utiliser que si 2 instances d'une classe provoqueraient une défaillance du système. Ce qui n'est clairement pas le cas ici.
      Ce qu'il faut c'est faire de l'injection de dépendances et si besoin faire un DIC (Dependancy Container Injection)
      Le soucis de Singleton c'est qu'il rends ton code trop dépendant les un des autres.

    • @HisokaXKuroro1
      @HisokaXKuroro1 5 років тому

      @@quenti7728 qu'en pense tu ?
      github.com/luxferoo/php-boilerplate/blob/master/src/IoC/initIoC.php
      je chaque jour je revoi le code et j'améliore (comme un ptit jeu)
      Si jamais t'as des remarques n'hesite pas stp à partager avec moi tes critiques via commentaire ou en privé et merci encore pour ta réponse constructive.

  • @steeven1162
    @steeven1162 9 років тому

    D'ou sort le $_GET['url'] ? c'est grace a composer que cette variable est définit ?

  • @imadmontreal9746
    @imadmontreal9746 9 років тому

    tres bien fait , ou je pourrais te contacter pour une demande de tutorial en javascript .

    • @grafikart
      @grafikart  9 років тому

      ryd com ça se passe ici : www.grafikart.fr/forum/proposition-de-tutoriels-57

  • @rimantasdanilevicius6754
    @rimantasdanilevicius6754 5 років тому

    It is sad that this tutorial is not on English, seems good tutorial.

  • @l4p1n
    @l4p1n 9 років тому

    selon la doc de PHP pour l'option "i":
    > i (PCRE_CASELESS)
    > Effectue une recherche insensible à la casse.

  • @grophies
    @grophies 7 років тому

    Sur openclassrooms, il est dit qu'il ne faut pas appeler les propriétés directement dans le constructeur, car le principe d'encapsulation n'est plus respecté. Il faut plutôt passer par des setters. Comme ceci :
    class Router
    {
    private $_url;
    public function __construct($url)
    {
    $this->setUrl($url);
    }
    public function setUrl($url)
    {
    $this->_url = $url;
    }
    }

    • @JeremyGasperowicz
      @JeremyGasperowicz 2 роки тому

      Dans ce cas on devrait définir la visibilité de la méthode setUrl() comme privée 😉

  • @ДенисБуданцев-ь2н
    @ДенисБуданцев-ь2н 6 років тому

    Спасибо!!

  • @azizgharbi2470
    @azizgharbi2470 9 років тому

    trés intéressant merci pour ce tuto
    j'ai une petite question ... j ai suivi ce tuto pour enfin realiser un router personnalisé et j ai voulu avancer encore plus pour ajouter un moteur de tempalte TWIG sauf que que je me trouve avec des errors
    la solution que j ai eu c'est de faire appel chaque fois à une instance de twig dans chaque function par exemple :
    $router->get('/test',function(){
    $loader=new Twig_load_Filesystem('views');
    $twig=new Twig_Enviroment($loader);
    echo $twig->render('index.html',array('text'=>'hellofriend')); }); // ça marche mais c'est chiant et stupid lol de ma part
    _________________
    HELP ! Pour faire q'un seul appel dans index.php et merci d'avance :)

    • @quenti7728
      @quenti7728 8 років тому

      Tu as du passer à autre chose depuis mais j'aurais fais l'init juste avant l'appel de la fonction de callback ce qui donne :
      if ($route->match($this->url)) {
      $loader=new Twig_load_Filesystem('views');
      $twig=new Twig_Enviroment($loader);
      return $route->call($twig);
      }
      et on le passe à la fonction call ou encore plus simple le mettre en dehors au tout début et faire un function() use($twig) {}

  • @stephanedupuis3701
    @stephanedupuis3701 6 років тому +1

    imbuvable

  • @yoshi7389
    @yoshi7389 9 років тому +5

    J'ai cliqué à cause de Cities Skylines :(

    • @grafikart
      @grafikart  9 років тому +1

      Yoshi Dragon Dur dur de trouver une illustration adéquat :D

    • @yoshi7389
      @yoshi7389 9 років тому

      ***** Y'a souvent pas mal d'ingéniosité dans ces miniatures :3

    • @MaamarYacineMEDDAH
      @MaamarYacineMEDDAH 8 років тому

      Great tutorial (Y)

  • @deutiafrank9395
    @deutiafrank9395 4 роки тому

    Seigneur. Je suis perdu 😭

  • @gerritluimstra5058
    @gerritluimstra5058 8 років тому

    if only this could be in English ;)

  • @MsMimoza123
    @MsMimoza123 7 років тому

    Tu as trop compliqué les choses pour rien. J'aime bien l'idée du style Rails lol