ajsie
ajsie

Reputation: 79796

models using controllers?

is it usual to use controllers in models?

then you have to include the controller in the model?

Upvotes: 1

Views: 131

Answers (2)

Doug Neiner
Doug Neiner

Reputation: 66201

No it is not common. You should never have to use your controllers from your model.

If you feel the need to, it probably means code that is currently in your controller should live in a shared library, or actually be in the model to begin with.

It is of course proper to use a model from a controller.

Update

Code that doesn't directly relate to a specific database table/record (model), or doesn't directly respond to a user's action (controller), would be a good candidate for a utilities or library file.

This is more normal, and where you load it depends on if you are using a framework or not. If it just your custom app, you can just do a require_once in your model and use the utility methods from there.

Upvotes: 2

Anthony Forloney
Anthony Forloney

Reputation: 91816

Models should not be using controllers.

To clarify, using the MVC pattern, the user communicates with the controller which manipulates the model which dispatches its results to the view back to the user.

alt text

Image taken from The Model-View-Controller (MVC) Design Pattern for PHP

Update to Doug's response:

The most logical way to explain how the components work is by starting from the model, then going through the controller, and finally reaching the view. And "MCV" would not have been nearly as appealing a name to the ear as "MVC."

Taken from Chapter 1 of Beginning ASP.NET MVC 1.0 by Simone Chiaretta and Keyvan Nayyeri.

Upvotes: 2

Related Questions