PHP For Beginners, Ep 33 - Build a Better PHP Router

Поделиться
HTML-код
  • Опубликовано: 7 янв 2025

Комментарии • 43

  • @liderVarna
    @liderVarna Месяц назад +1

    I am amazed how well you present each video. I received a lot of useful information, a lot of useful advice from you. Thank you!

  • @VideoDarslar
    @VideoDarslar Год назад +2

    Thanks for the lesson. I didn't understand what really happens behind the scenes in Laravel and now I do 😊

  • @faisal.fs1
    @faisal.fs1 Месяц назад +1

    dude is building a framework

  • @DougLopes
    @DougLopes 2 года назад +2

    Amazing didatics as always (i'll say it again, even for us that already use the language for long time)...
    I'd just add constants in Router class for each method, because it bother's me using "magic strings" even if its used once.

  • @hugo-abdou
    @hugo-abdou 2 года назад +10

    i have a filing that this series will end up with laravel as final result hhhhh

    • @lucasj.pereira4912
      @lucasj.pereira4912 2 года назад +8

      It is probably the point. Teach the users how the MVC and logic works so it's easy for someone to start on Laravel or keep it as mini-framework for small projects. I did something similar with a course teaching like this and in the end started Laravel and was like: "Hey, it's really similar" and was really easy to migrate a project to the framework.

    • @Laracastsofficial
      @Laracastsofficial  2 года назад +19

      It's precisely the point. :)
      I want to make onboarding to any PHP framework as intuitive as possible. When you try Laravel after completing this series, you'll think to yourself, "Oh, I totally get this."

    • @Syed_haze
      @Syed_haze 2 года назад

      @@Laracastsofficial 🥳💝

    • @hugo-abdou
      @hugo-abdou 2 года назад

      @@Laracastsofficial thank you i love the way you explain with

  • @andromilk2634
    @andromilk2634 2 месяца назад

    Is there a reason we used strtoupper($method) here even though we already hardcoded the strings in capitals in the view for the desired method? Just to be sure in case we might have forgotten to capitalize one?

  • @andreymikhalev7464
    @andreymikhalev7464 2 года назад +4

    Cool thing will be later to show how {param} variables can be appended to routes

  • @notnotkeshav
    @notnotkeshav 4 месяца назад +1

    I have written all the routes using the router->get() syntax, but only the top 1 is getting rendered rest all are showing Error404.php page 😢. Can somebody help me?

    • @lucianasofiamorales4634
      @lucianasofiamorales4634 3 месяца назад

      Could you solve it? I have the same issue.

    • @لوسيفرجبريل
      @لوسيفرجبريل Месяц назад

      @@lucianasofiamorales4634
      are you sure your mysql server is working? I am using mamp and sometimes the mysql server does not start and I have to stop the server and start it again for it to work.

  • @michaellamas6479
    @michaellamas6479 Год назад +1

    Great how you explain it step by step. I love it.
    The method add is public, but on that point it could be private like the variable routes, couldn't it?

  • @whisperscribe
    @whisperscribe 7 месяцев назад

    great stuff Jeffrey!

  • @ajaybagdia
    @ajaybagdia 9 месяцев назад

    used this code with IIS Server with web.config file to send each file to public/index.php
    but could not load the static files like .js, .css and images
    can you guide

  • @davidasadi5041
    @davidasadi5041 2 года назад

    Thanks for awesome tutorials
    I learn a lot about core php
    👌👌👌

  • @marcrebadina1489
    @marcrebadina1489 Год назад

    Hi @Laracastsofficial how do you handle the routes for images inside the uploads folder? It always goes to 404 even on direct URL. Or even CSS/JS folder so I can add it dynamically on my routes.

  • @AK2000YY
    @AK2000YY 3 месяца назад +1

    this episode is a little hard, but amazing

  • @jediampm
    @jediampm 2 года назад +1

    Hi, great video.
    One thing that i do not understand is how in note route route ( show route) , the URI match ?
    since that route has a query string, which query string is in URI should not match.
    Another thing, i think that in first version of this series, at root of routes array you create the methods as keys and associate the respective route ( uri + controller) to method key, so you had assoc array instead of index array that you have now in this new series.
    And why not use preg_match?

    • @Laracastsofficial
      @Laracastsofficial  2 года назад +2

      Because we're only getting the path, not the query string.
      $uri = parse_url($_SERVER['REQUEST_URI'])['path'];

    • @jediampm
      @jediampm 2 года назад

      @@Laracastsofficial
      Ya, after i post the comment i went to review the code and reach the same conclusion, lol.
      Anyways should be useful for others.

  • @DaviMartins99
    @DaviMartins99 2 года назад

    Anyone knows what theme Jeffey is using here? I tried Googling, but only found the old theme in Laracasts.

    • @devanii
      @devanii 2 года назад

      i think materialize?

    • @Laracastsofficial
      @Laracastsofficial  2 года назад +1

      It's called Carbon.
      All of the things I use are listed here: laracasts.com/uses

  • @martinmata3675
    @martinmata3675 Год назад

    is there a way to get the code of this video??

  • @gherosh
    @gherosh 2 года назад

    Why wont use URI as $routes array key in order not to cycle the $routes array for finding the matching REQUEST URI?

  • @lserranoit
    @lserranoit Год назад

    Hey Jeffrey, is the source code available?

  • @chzmo
    @chzmo Год назад

    You the best 👌

  • @alikaram98
    @alikaram98 Год назад

    Tanks a lot

  • @mahdielhajuojy1112
    @mahdielhajuojy1112 2 года назад +1

    you the best

  • @rustamergashev7278
    @rustamergashev7278 5 месяцев назад

    👍

  • @Syed_haze
    @Syed_haze 2 года назад

    can we stand against AI with php ?

  • @Dev.Waleed
    @Dev.Waleed 11 месяцев назад

    I tried a lot on your routers but these are not working, even on real website i tried to implement it not working.

  • @binuavin
    @binuavin Год назад +2

    That meme😂😂

  • @Dev.Waleed
    @Dev.Waleed 11 месяцев назад

    Your routers way isn't working . I tried a lot but getting in trouble each time. I also tried to implement it on real hosted website to analyze either may be something wrong with my virtual php environment but still it's not been working.

    • @johnnybrunerdesigns
      @johnnybrunerdesigns 6 месяцев назад

      Did you ever figure it out? Nothing is working for me either with this new router.

  • @johnnybrunerdesigns
    @johnnybrunerdesigns 6 месяцев назад

    Is anyone still monitoring this playlist? Everything has worked great until this video. The new routing system has broken everything and nothing works.

    • @OZTutoh
      @OZTutoh 15 дней назад

      I just tried it myself. Yep, everything broken.
      Real mad because I wanted to learn sessions 5 lessons on from this one.
      EDIT: I checked the source code from the link in the description and discovered in Core/Router.php, I'd used 'controllers' => $controller, instead of 'controller' => $controller,
      It worked after that.

  • @paulbrugger9610
    @paulbrugger9610 Год назад +1

    In order to actually save a new note and to delete a note, routes.php should be
    $router->get('/', 'controllers/index.php');
    $router->get('/about', 'controllers/about.php');
    $router->get('/contact', 'controllers/contact.php');
    $router->get('/notes', 'controllers/notes/index.php');
    $router->get('/note', 'controllers/notes/show.php');
    $router->get('/notes/create', 'controllers/notes/create.php');
    // Jeffrey forgot these last two routes
    $router->post('/notes/create','controllers/notes/create.php');
    $router->delete('/note','controllers/notes/show.php');