summaryrefslogtreecommitdiffstats
path: root/user_guide_src/source/overview/mvc.rst
diff options
context:
space:
mode:
authorTimothy Warren <tim@timshomepage.net>2011-10-06 03:47:59 +0200
committerTimothy Warren <tim@timshomepage.net>2011-10-06 03:47:59 +0200
commitfb7ff742949e0474dfba30be45be513b3b4f63cc (patch)
tree87b150fd502d0789f9660ca4dc2ace44817813c3 /user_guide_src/source/overview/mvc.rst
parentf7a8d86dbc6805a4e52964bbea76738df75b5f35 (diff)
parentec8abee24f456b09ab9d53e88853fe6bd0f7879a (diff)
Merge branch 'develop' of git://github.com/EllisLab/CodeIgniter into develop
Diffstat (limited to 'user_guide_src/source/overview/mvc.rst')
-rw-r--r--user_guide_src/source/overview/mvc.rst27
1 files changed, 27 insertions, 0 deletions
diff --git a/user_guide_src/source/overview/mvc.rst b/user_guide_src/source/overview/mvc.rst
new file mode 100644
index 000000000..996745d65
--- /dev/null
+++ b/user_guide_src/source/overview/mvc.rst
@@ -0,0 +1,27 @@
+#####################
+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.