I think that is the answer I am looking for. I just need to re-arrange my methods then. Thanks for clarifying.
On Sun, Dec 21, 2014 at 7:38 PM, Andrew Lechowicz <drew.lechow...@gmail.com> wrote: > Ok. Here's a Gist of what your code might look like: > https://gist.github.com/alecho/e7b573cc54140ba1706d > > By making the methods private it means that CakePHP won't let them be > publicly callable methods. This avoids redirects so that your url is still > the same too. I think this approach is easier to test as well. > > This assumes that you can't just use regular expressions on the username > to route to different controllers or actions. In other words, your username > has nothing to do with wether your user is a "user" or a "shop". You may > also want to look into ensuring usernames are valid in the router with a > custom route class but this is not required. Check out Mark Story's post on > this: > http://mark-story.com/posts/view/using-custom-route-classes-in-cakephp. > > On Sunday, December 21, 2014 5:56:18 AM UTC-5, . . wrote: >> >> Thanks for clarifying regarding routes. >> >> Could you clarify what you mean "It be a simple `if` statement that calls >> one of two of the controllers `private` or `protected` methods which >> contain the login for wether the username is "Bob" or "BobsShop". >> >> I have a UsersController and a ShopsController, the former handles the >> "Bob" username while the latter handles "BobsShop" username. So if i route >> the /:username url to my UsersController, how should I handle the logic for >> the "BobsShop" username? >> >> Thanks >> >> > On Dec 20, 2014, at 9:09 PM, Andrew Lechowicz <drew.le...@gmail.com> >> wrote: >> > >> > Hi. I want to route a url to 2 controllers depending on some logic I >> define. For example, if I have 2 usernames Bob and BobsShop, I want >> localhost/Bob to route to my UsersController while localhost/BobsShop will >> route to my ShopsController. I've thought of one way to accomplish this - >> by writing a common ObjectsController that represents both a User and a >> Shop. Is there an easier way via cake's routing mechanism? Thanks! >> > >> > It seems like you might be confused as to what is a route and what is a >> controller and what is a model. A route shouldn't contain any logic, it's >> just the mapping of URL to Controller action. Or another way to put it is >> URL to logic to perform. I would suggest if you have a route like >> `/:username` it would route to a sigle controller action which then decided >> which logic to perform. It be a simple `if` statement that calls one of two >> of the controllers `private` or `protected` methods which contain the login >> for wether the username is "Bob" or "BobsShop". >> > >> > -- >> > Like Us on FaceBook https://www.facebook.com/CakePHP >> > Find us on Twitter http://twitter.com/CakePHP >> > >> > --- >> > You received this message because you are subscribed to a topic in the >> Google Groups "CakePHP" group. >> > To unsubscribe from this topic, visit https://groups.google.com/d/ >> topic/cake-php/MpAJAUdAzJk/unsubscribe. >> > To unsubscribe from this group and all its topics, send an email to >> cake-php+u...@googlegroups.com. >> > To post to this group, send email to cake...@googlegroups.com. >> > Visit this group at http://groups.google.com/group/cake-php. >> > For more options, visit https://groups.google.com/d/optout. >> > -- > Like Us on FaceBook https://www.facebook.com/CakePHP > Find us on Twitter http://twitter.com/CakePHP > > --- > You received this message because you are subscribed to a topic in the > Google Groups "CakePHP" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/cake-php/MpAJAUdAzJk/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > cake-php+unsubscr...@googlegroups.com. > To post to this group, send email to cake-php@googlegroups.com. > Visit this group at http://groups.google.com/group/cake-php. > For more options, visit https://groups.google.com/d/optout. > -- Like Us on FaceBook https://www.facebook.com/CakePHP Find us on Twitter http://twitter.com/CakePHP --- You received this message because you are subscribed to the Google Groups "CakePHP" group. To unsubscribe from this group and stop receiving emails from it, send an email to cake-php+unsubscr...@googlegroups.com. To post to this group, send email to cake-php@googlegroups.com. Visit this group at http://groups.google.com/group/cake-php. For more options, visit https://groups.google.com/d/optout.