28 lines
1.4 KiB
ReStructuredText
28 lines
1.4 KiB
ReStructuredText
#####################
|
|
Model-View-Controller
|
|
#####################
|
|
|
|
CodeIgniter is based on the Model-View-Controller development pattern.
|
|
MVC is a software approach that separates application logic from
|
|
presentation. In practice, it permits your web pages to contain minimal
|
|
scripting since the presentation is separate from the PHP scripting.
|
|
|
|
- The **Model** represents your data structures. Typically your model
|
|
classes will contain functions that help you retrieve, insert, and
|
|
update information in your database.
|
|
- The **View** is the information that is being presented to a user. A
|
|
View will normally be a web page, but in CodeIgniter, a view can also
|
|
be a page fragment like a header or footer. It can also be an RSS
|
|
page, or any other type of "page".
|
|
- The **Controller** serves as an *intermediary* between the Model, the
|
|
View, and any other resources needed to process the HTTP request and
|
|
generate a web page.
|
|
|
|
CodeIgniter has a fairly loose approach to MVC since Models are not
|
|
required. If you don't need the added separation, or find that
|
|
maintaining models requires more complexity than you want, you can
|
|
ignore them and build your application minimally using Controllers and
|
|
Views. CodeIgniter also enables you to incorporate your own existing
|
|
scripts, or even develop core libraries for the system, enabling you to
|
|
work in a way that makes the most sense to you.
|