MVC richtig anwenden

GoPeter

GoPeter

Aktives Mitglied
Thread Starter
Dabei seit
24.11.2009
Beiträge
110
Reaktionspunkte
1
Hallo zusammen,
ich entwickle gerade für mich eine kleines Projektmanagement-Tool mit folgenden Punkten:

- Benutzer
- Kunden
- Projekte
- Leistungen
- Todos

Mit PHP arbeite ich mittlerweile schon ziemlich lange, will jetzt aber endlich mal vernünftig mit OOP und MVC umgehen. Dazu habe ich etliches gelesen, komme aber bei der Umsetzung gerade etwas in Stocken.

Meine Struktur momentan sieht wie folgt aus:

Code:
index.php
lib/
	lib/js
	lib/css
	lib/img
	lib/php/
		lib/php/classes
			lib/php/classes/controller/
				lib/php/classes/controller/benutzer.php
				lib/php/classes/controller/..
			lib/php/classes/model/
				lib/php/classes/model/database.php
templates/
	templates/benutzer.php
	templates/kunden.php
	templates/projekte.php
	templates/leistungen.php
	templates/todos.php

Die Template-Dateien enthalten logischerweise das entsprechende HTML. Ich habe mich gezielt gegen ein Templatesystem entschieden, da die Syntax ohnehin nicht wirklich anders wird. Da macht es auch nix, wenn meine Template Dateien z.B. so aufgebaut sind:

Code:
$clients = new Client(); // neues Objekt erzeugen
$clients = $this->getClients(); // getClients() ist eine Methode der Klasse, die ein neues Datenbankobjekt (Model) erzeugt, die Daten holt und und im View als Array ausgibt

<ul>
<?php foreach ($clients as $client): ?>
	<li><?php echo $client; ?></li>
<?php endforeach; ?>
</ul>

Natürlich vereinfacht, aber so in etwa sieht es aus.

Jetzt genau frage ich mich, ob dass die richtige Verwendung von MVC ist? Ist diese Aufteilung sinnvoll? Oder sollten die Template-Dateien der Übersicht halber lieber in /lib/php/classes/view geschoben werden?

Was haltet ihr von diesem Ansatz?
 
wo Du das Ganze speicherst ist doch egal! Auch ist fraglich ob MVC das Web-Pattern schlechthin ist, MVC kommt vom Desktop und damit von Eventgetriebenen Modellen. Natürlich kann man das auch fürs Web benutzen, letztlich wichtig ist, dass Modell und Repräsentationsschicht getrennt sind.
 
Schau dir doch mal z.B. fuel php an, da kannst du dir Projektstrukturen (inkl. Code) generieren lassen. Auch wenn du hinterher doch alles von Hand bauen willst, kannst du da sicher ein paar gute Ideen bekommen.
 
Super, danke! Schau ich mir mal an
 
Zurück
Oben Unten