daveh / php-mvc

A simple PHP model-view-controller framework, built step-by-step as part of the "Write PHP like a pro: build an MVC framework from scratch" course on Udemy.
https://davehollingworth.com/go/phpmvc/
MIT License
782 stars 311 forks source link

Route variables #112

Open 1337haxx0r opened 1 year ago

1337haxx0r commented 1 year ago

Just an idea, to have routes assigned to variables to make routes more dynamic. I come up with this while was changing bunch of same URLs in the twig template.

Let's say we have this route with 3rd argument as a variable: $router->add('posts/index', ['controller' => 'Posts', 'action' => 'index'],'post_index');

We can then pass it the same way as route_params to the controller and in addition create a global twig variable (called routes) so it can be accessed from the view.

and instead of having this in twig: <a href="{{ URL }}posts/index">Test</a> We could have: <a href="{{ URL }}{{ routes.post_index }}">Test</a> Which after render would give <a href="https://website.com/posts/index">Test</a>

With this solution we'd need only change route in one place, instead of going through bunch of files.

I haven't thought of implementation of it yet though, so if I come up with something - will let you know

daveh commented 1 year ago

That's an interesting idea! I'm currently working on a major update for this framework, I'll make a note of this, thanks!