Welcome Guest, Not a member yet? Register   Sign In
How do you design your application? (What are your personal conventions?)
#1

[eluser]TheActionCombo[/eluser]
Coming from CakePHP, I'm used to there being a set way to do everything. For example, every database table has a corresponding model. From what I've read in the user guide, this is not necessarily true in CI. It seems as if the system is so flexible that your application can just have a single model that handles every database table (or a single controller for all business logic, etc) or even no model at all. Obviously, the downside of this flexibility is the potential for bad MVC practice.

So, how do you guys design your applications in this respect? The reason I am asking is because I am going to build a blog that features 3 tables: Posts, Comments, and Tags. CakePHP would have me create a post, comment, and tag model, as well as a posts, comments, and tags controller. In CI, would it be best practice to do the same? Or I could I, for example, just have a single "blog" controller and model that handles all 3 of these? At first glance, handling posts, comments, and tags would not be outside the scope of a "blog" controller or model. How would you design this app?

Thanks.
#2

[eluser]gtech[/eluser]
personally i have a model and controller for each table, but I have 25 tables in my app I am developing. I suppose its less critical in a smaller app, unless you want to extend.. having a model for each table tends to lead to more readable code.
#3

[eluser]Michael Wales[/eluser]
I develop controllers as I feel they are necessary (not necessarily on a per-table basis) but on a per-functionality basis.

I tend to develop a model for every table (named: tablename_m) unless that table merely serves as metadata for another table.
#4

[eluser]Majd Taby[/eluser]
What i find useful when i'm stuck is to write out your url's. That usually gives me clues to the best way i want to design my controllers ( as the url's correspond to the controllers). Apart from that, i do what walesmd and gtech do.




Theme © iAndrew 2016 - Forum software by © MyBB