• Willkommen im Zend Framework Forum

    ZF1 Zend Framework 1 + ZF2 Zend Framework 2

    Das Zend Framework Forum ist seit 2006 die erste Anlaufstelle für Zend Framework Entwickler in Deutschland. Mit über 70.000 Beiträgen und einer steigenden Nutzerzahl bietet das Forum hilfreiche Themen und ZF-Tutorials für professionelle Entwickler, fortgeschrittene Programmierer sowie Zend Framework Einsteiger.
    Wenn dies Dein erster Besuch in der Zend Framework Community ist, lies bitte zuerst die Hilfe - FAQ durch. Du musst Dich registrieren, bevor Du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um die Registrierung zu starten. Du kannst auch jetzt schon Beiträge lesen. Hier im Forum findest Du die Zend Framework Hilfe, die Du suchst!

    Grüße an alle Zend Framework Entwickler. Das Team vom Zend Framework Forum!

    Drupal Agentur

Modul-Basierende Anwendung

codend

New member
Hallo zusammen,

ich habe, denke ich, ein wirklich schönes Tutorial mit einem wirklich schönen Konzept für eine Modul-Basierende Anwendung gefunden. (Part 1 des Tutorials baut die Grundstruktur auf)

http://phpdev.ro/zf-tutorial-series-part-1-module-based-app.html

Nun da ich immer noch recht frisch mit dem ZF unterwegs bin, und deshalb nicht glaube das ich das obige Tutorial wirklich bewerten kann, meine Frage an alle die sich da schon mehr Erfahrung angesammelt haben.

- Taugt diese, im Tutorial, vorgestellte Struktur etwas ?
- Ist das eine Vernünftige Vorlage auf der man ein Projekt aufbauen kann?
- Geht es besser?

Ziel ist es, komplett eigenständige Module zu schaffen die sich ohne Probleme in andere Projekte einpflanzen lasse, indem einfach der Module-Ordner kopiert wird.

Ich danke euch schon mal für jede Antwort.

Grüße
 

Meisii

New member
Habs mal überflogen. Das Konzept ist ok, aber es gibt Gründe warum ich mein Projekt dennoch nicht nach ihm ausrichten würde.

  1. Bin ich ein Fan der Ordnerstruktur, die Zend_Tool automatisch für ein neues Projekt erstellt. Die Entwickler haben sich schon etwas dabei gedacht. Ich sehe keinen Nutzen die Ordnerstruktur so kompliziert wie in der verlinkten Anleitung zu erstellen, denn
  2. ist die standardmäßige Struktur genauso gut geeignet "unabhängige" Module zu entwickeln. Die Hauptunterschied ist doch nur, dass das Modul einen eigenen library-Ordner besitzt. Ich sehe kein Problem darin, die Klassen im "normalen" library-Ordner zu speichern. So spezifisch werden die Klassen darin wohl nicht werden. Außerdem ist
  3. durch die spezielle Ordnerstruktur es nötig, dass man etliche Dateien, wie die index.php anpassen muss. Wozu der Aufwand, wenn Zend_Tool einem doch ein so schönes funktionsfertiges Projekt erstellen kann? So vermeidet man eigene Fehler im Code.
  4. Ist die .htaccess überholt. Zend_Tool erstellt eine mit besseren Rewrite-Rules.
  5. ergibt sich aus 3. und 4., dass wenn man sein Projekt immer mit Zend_Tool erstellt, man einen weiteren Vorteil schafft, der mir wichtiger ist: nämlich dass ich immer die neuesten Funktionen oder Verbesserungen von Zend_Application nutzen kann. Erstelle ich mir immer mit Zend_Tool ein neues Projekt, dann muss ich nur meine eigenen Klassen hinzufügen und kann auf dieser Basis mein Projekt besser an neue Versionen des ZF anpassen als wenn ich erstmal schauen muss, wo ich in der index.php und Co. etwas ändern muss.
Antwort auf die Frage ob es besser geht:
Ja, mit der Struktur die Zend_Tool dir erstellt. Zeige deine PHP-Skills dadurch, dass du ein tolles Projekt entwickelst, aber nicht dadurch, dass du das Rad neu erfindest. Das ist zumindest meine Meinung.
 
Zuletzt bearbeitet:

codend

New member
Hallo Meisii,

vielen Dank für deine Ausführungen.
Ich muss sagen das dort einige Argumente zu finden waren, die mich doch recht überzeugt haben. Ich werde nun mit der, von den Zend Entwicklern, vorgeschlagenen Struktur mein Projekt aufbauen. Denn wie du so schön sagtest: "Die Entwickler haben sich schon etwas dabei gedacht". Dieser Satz hat mich letztendlich überzeugt mit dem Zend Tool zu arbeiten.

Noch eine Nachfrage:
Gibt es eine Regel/Vorgehensweise wann man ein Modul und wann einen Controller nimmt. Soll heißen: Wann ist etwas als Modul gut aufgehoben und wann sollte man doch eher einen Controller draus machen?

Grüße
 

deetee

New member
Sobald das Feature einen größeren Umfang annehmen kann, sollte man ein Modul einsetzen. Ein Login ist z. B. als Action ausreichend, könnte man aber auch als Controller anlegen, aber ein Modul wäre zuviel des Guten. Anders sieht es bei einem Gästebuch aus. Das sollte man nicht nur als Actions abbilden, sondern mindestens ein oder mehrere Controller dafür spendieren. Und wenn es schon soweit ist, dann ist ein Modul wahrscheinlich die doch bessere Variante.
 

KingCrunch

New member
In Zusammenhang damit, dass Module auch Kontroller besitzen, find ich das "login"-Beispiel von deetee find ich nur so halb gelungen. So könnte man sich hier auch fragen "Passt ein LoginController in irgendein Modul, bzw könnte es ein Modul geben, was Login (und einiges anderes) sinnvoll zusammen fasst?". Ich hah da nen User-Modul mit diversen Benutzerkrams, uA eben auch Login/Logout.

Im Grunde sind Module kleine (nicht eigenständige) Anwendungen, wie zB das genannte Gästebuch, und so handhabe ich das auch: Wenn es als "sytsmatische" Einheit betrachtet werden kann, wirds nen Modul, gewissermaßen als "Teilanwendung". Von dem Gedanken, dass alle Module voll unabhängig voneinander sind, sollte man sich mE besser gleich trennen.
 
Oben