Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
mvc_1 [2010-11-26 10:23] Joakim Forsgren [Model-View-Controller] |
mvc_1 [2010-12-10 11:05] Joakim Forsgren |
||
---|---|---|---|
Line 7: | Line 7: | ||
==== Ett enkelt ex ==== | ==== Ett enkelt ex ==== | ||
- | Här kommer ett enkelt ex på hur man skulle kunna jobba med MVC.\\ | + | Här kommer ett enkelt ex på hur man skulle kunna jobba med MVC. Vi kommer att utvidga detta framöver\\ |
Controllers och Models är i princip fria från HTML, i views har man endast enkel PHP och HTML | Controllers och Models är i princip fria från HTML, i views har man endast enkel PHP och HTML | ||
index.php - Denna fil har som enda uppgift att alltid läsa in rätt filer... | index.php - Denna fil har som enda uppgift att alltid läsa in rätt filer... | ||
- | - Hämtar först diverse inställningar | + | - Hämtar först diverse inställningar, |
- | - Init data, sätter variabler och skapar tex ett databas och session objekt | + | |
- Kollar över vad som har kommit i $_GET[' | - Kollar över vad som har kommit i $_GET[' | ||
- Läser in rätt controller - en controller sköter logiken, skriver aldrig ut något och kommunicerar med olika modeller | - Läser in rätt controller - en controller sköter logiken, skriver aldrig ut något och kommunicerar med olika modeller | ||
Line 20: | Line 19: | ||
<code php> | <code php> | ||
<?php | <?php | ||
- | $path = ' | + | define(' |
- | include($path.' | + | // alla inställnignar och några funktioner |
- | + | include(PATH.' | |
- | // Lite init variabler | + | |
- | $self = basename($_SERVER[' | + | |
- | $session = new service_session(' | + | |
- | $db = new service_db($settings); | + | |
- | + | ||
- | + | ||
- | // i dessa lägger man data | + | |
- | $data = array(); | + | |
- | $row = false; | + | |
// Säkrar upp vad som kommer i $_GET[' | // Säkrar upp vad som kommer i $_GET[' | ||
Line 38: | Line 28: | ||
// läser in rätt controller | // läser in rätt controller | ||
- | $controller = $path . ' | + | $controller = PATH . ' |
if (file_exists($controller)) { | if (file_exists($controller)) { | ||
include($controller); | include($controller); | ||
} else { | } else { | ||
- | $session-> | + | $session-> |
} | } | ||
// visar HTML med rätt view | // visar HTML med rätt view | ||
- | include($path.' | + | include(PATH.' |
- | $session-> | + | $session-> |
- | $view = $path . ' | + | $view = PATH . ' |
if (file_exists($view)) { | if (file_exists($view)) { | ||
include($view); | include($view); | ||
} else { | } else { | ||
$session-> | $session-> | ||
- | $session-> | + | $session-> |
} | } | ||
- | include($path.' | + | include(PATH.' |
</ | </ | ||
Line 102: | Line 92: | ||
Ni får gärna göra om och bygga ut mina klass exempel. | Ni får gärna göra om och bygga ut mina klass exempel. | ||
- | Ni kan hämta min {{: | + | Ni kan hämta min {{: |
==== Extrakrav ==== | ==== Extrakrav ==== |