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
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, 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 själv :-)
  
 ==== Extrakrav ==== ==== Extrakrav ====