I wanted to see what people think of my approach for a webapp I'm going to start developing shortly.
My planned approach is as follows.
URLs are in the format /module/action/parameters/
So the URL to view a listing of widgets might be /widgets/list/20/ (20 being an optional parameter to limit the display to 20 widgets).
Or the URL for displaying a form to edit a specific listing might be /widgets/edit/12345/ (12345 being the unique ID of the widget's database record).
So if we use my first example, the front controller would call the Widgets controller, which in turn would call the list() method found in that class. The list() method would then call a generic Template class and a generic Records class, the latter of which would query the database and return an array of widgets. The array would then be converted to an HTML table. The table and the template could then be sent to output.
Obviously the final product would be slightly more complex than this, but hopefully from the description above you can see the general intention.
What do people think of this idea? I've seen applications done like this before but would like to know if it's a bad idea or if it will end up being too restrictive as I constantly add new features to the application.