Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
mvc_1 [2010-11-26 10:23]
Joakim Forsgren [Model-View-Controller]
mvc_1 [2010-12-10 11:07]
Joakim Forsgren [Krav]
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, sätter variabler och skapar tex ett databas och session objekt
-  - Init data, sätter variabler och skapar tex ett databas och session objekt+
   - Kollar över vad som har kommit i $_GET['c'] c=controller och i $_GET['a'] a=action   - Kollar över vad som har kommit i $_GET['c'] c=controller och i $_GET['a'] a=action
   - 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('PATH','../')// Sökvägen till själva applikationen 
-include($path.'include/setup.php')+// alla inställnignar och några funktioner 
- +include(PATH.'include/setup.php');
-// Lite init variabler +
-$self = basename($_SERVER['SCRIPT_NAME']); +
-$session = new service_session('jf'); +
-$db = new service_db($settings); +
- +
- +
-// i dessa lägger man data +
-$data = array(); +
-$row = false;+
  
 // Säkrar upp vad som kommer i $_GET['c'] c=controller och i $_GET['a'] a=action, kommer inget blir det index // Säkrar upp vad som kommer i $_GET['c'] c=controller och i $_GET['a'] a=action, kommer inget blir det index
Line 38: Line 28:
  
 // läser in rätt controller // läser in rätt controller
-$controller = $path . 'controllers/' . $_GET['c'] . 'Controller.php';+$controller = PATH . 'controllers/' . $_GET['c'] . 'Controller.php';
 if (file_exists($controller)) { if (file_exists($controller)) {
  include($controller);  include($controller);
 } else { } else {
- $session->AddError('No controller named:' . $_GET['c']);+ $session->AddError('No controller named:' . $_GET['c'. 'Controller');
 } }
  
 // visar HTML med rätt view // visar HTML med rätt view
-include($path.'views/head.php'); +include(PATH.'views/head.php'); 
-$session->PritnInfo();; // skriver ut fel och annan info +$session->PrintInfo();; // skriver ut fel och annan info 
-$view = $path . 'views/' . $_GET['c'] . '/' . $_GET['a'] . '.php';+$view = PATH . 'views/' . $_GET['c'] . '/' . $_GET['a'] . '.php';
 if (file_exists($view)) { if (file_exists($view)) {
  include($view);  include($view);
 } else { } else {
  $session->AddError('No view in ' . $_GET['c']. ' named:' . $_GET['a']);  $session->AddError('No view in ' . $_GET['c']. ' named:' . $_GET['a']);
- $session->PritnInfo();; // Man vill ju se detta fel också...+ $session->PrintInfo();; // Man vill ju se detta fel också...
 } }
-include($path.'views/foot.php');+include(PATH.'views/foot.php');
 </code> </code>
  
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 {{:mvc.zip|kod}} här om ni vill. Det kan finnas några fel i den men de får ni fixa själv :-)+Ni kan hämta min {{:mvc.zip|kod}} här om ni vill. Skulle det finnas några fel i den får ni fixa det själv :-)
  
 ==== Extrakrav ==== ==== Extrakrav ====