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 [2011-09-16 11:36]
Joakim Forsgren [Ett enkelt ex]
mvc [2012-10-24 13:20]
Joakim Forsgren
Line 8: Line 8:
 ==== Ett mindre ex på MVC ==== ==== Ett mindre ex på MVC ====
 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. \\
-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
 +Controllers skall sköta logik (lite kod) medan models skall lösa specifika uppgifter.
  
 +Det är viktigt att ha en tydlig struktur på hur man kodar!!
 +
 +=== index.php ===
 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...
  
Line 30: Line 34:
 $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'] . 'Controller');+  $session->AddError('No controller named:' . $_GET['c'] . 'Controller');
 } }
  
Line 40: Line 44:
 $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->PrintInfo();; // 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>
  
-Detta är min struktur av filer. Det enda som är gjort är en fungerade inloggning och möjlighet att hantera användare på ett primitivt sätt därför finns ingen katalog forum+Detta är min struktur av filer. Det enda som är gjort är en fungerade inloggning och möjlighet att hantera användare på ett primitivt sätt (om man är admin). När det gäller layout, HTML, placering av meny mm så är inget gjort.
 <code> <code>
-. +mvc 
-|-- classes +├── classes 
-|   |-- model +│   ├── model 
-|     |-- table.php +│   │   ├── table.php 
-|     `-- user.php +│   │   └── user.php 
-|   `-- service +│   └── service 
-|       |-- db.php +│       ├── db.php 
-|       `-- session.php +│       └── session.php 
-|-- controllers +├── controllers 
-|   |-- indexController.php +│   ├── indexController.php 
-|   |-- loginController.php +│   ├── loginController.php 
-|   `-- userController.php +│   └── userController.php 
-|-- htdocs +├── htdocs 
-|   |-- images +│   ├── images 
-|   |-- index.php +│   ├── index.php 
-|   `-- style.css +│   └── style.css 
-|-- include +├── include 
-|   `-- setup.php +│   └── setup.php 
-`-- views +└── views 
-    |-- foot.php +    ├── foot.php 
-    |-- head.php +    ├── head.php 
-    |-- index +    ├── index 
-    |   `-- index.php +    │   └── index.php 
-    |-- login +    ├── login 
-    |   |-- login.php +    │   ├── login.php 
-    |   |-- logout.php +    │   ├── logout.php 
-    |   |-- register.php +    │   ├── register.php 
-    |   |-- sendpassword.php +    │   ├── sendpassword.php 
-    |   `-- setpassword.php +    │   └── setpassword.php 
-    `-- user +    └── user 
-        `-- index.php +        └── index.php
 </code> </code>
 ====== Lite mer om klasser ====== ====== Lite mer om klasser ======
Line 106: Line 109:
  
  
-Forum+Forum (vill ni göra något annat säg till så ska det nog gå att lösa)
   * Man skall kunna skapa ämnen.    * Man skall kunna skapa ämnen. 
   * Till varje ämne skall man kunna skriva inlägg.   * Till varje ämne skall man kunna skriva inlägg.
Line 153: Line 156:
 ) ; ) ;
 </code> </code>
-