Frage

Ich habe einige Fragen zur Struktur von ZF -Modulen und -Modellen.

(Ich spreche von ZF 2, weil ich ZF 1.11 aufgegeben habe)

Um meine Frage einfach zu verstehen, schauen Sie sich das folgende Beispiel an: (Ich erstelle dies nur, um ZF2 zu lernen.)

Movie Manager DataBase

Es ist eine "Filmmanager -Anwendung". In dieser Anwendung habe ich 3 Art von Benutzern:

- visitors: peolple who olny can see the movies in the database.
- members: same as visitors plus insert, update and delete movies.
- administrator: same as members plus insert, update and delete users and other informations as genre, artist, ...

Mitglieder können nichts weiter einfügen als einen neuen Film, dh sie können kein neues Genre einfügen, und kein neuer Künstler.

Ok ... für dieses Problem fand ich diese Lösung:

- create 3 modules: visitor, member, admin;

Aber ich bin mir nicht sicher, ob es der beste Weg ist, DE -Programm zu organisieren ...

Mir ist klar, dass ZF erwartet, dass Menschen Anwendung auf diese Weise organisieren:

- create modules for each funcionallity;
- create roles for each kind of user;

Meine Fragen sind also:

1. My solution is right or wrong?
2. If my solution is right, how can I organize my application?
3. How can I organize my models, to be visible to more than one module?
- I think a should create a model "movie" somewhere if "inserts, updates, deletes, and selects"
then a module "visitor" could only use a "select" while a module "member" could use all the funcionallities. Am I right?

4. If my solution is not right, how can I organize my application?
5. How should be my modules?

Ich habe wirklich an dieses Problem festgefahren. A konnte nirgendwo Antworten finden ... Wenn jemand eine kleine Bewerbung wie diese hat und es Ihnen nichts ausmacht, um zu teilen, werde ich froh sein.

Wenn ich bei meinen Fragen nicht klar bin, fragen Sie bitte!

Danke für Ihre Hilfe.

War es hilfreich?

Lösung

Was hier sieht, ist ein Datenbankmodell und daher ist die Hauptfrage für mich, wie die Daten verwaltet werden. In einem MVC -Muster verwalten Sie Daten mit Modellen. So viel wie ich hier sagen kann, sollte Ihre Frage nicht mit ZF2 verwandt oder beschränkt sein. Wie in früheren Versionen sollten Sie Modelle haben, um die Datenbank- und Datentabellen zu verwalten.

Die Module behandeln den Anwendungsaspekt. Wenn Sie ein solides Modell für die Daten (Personen, Genre, Benutzer, Filme) haben, können Sie Dutzende von Modulen erstellen, die auf die Modelle zugreifen. Daher können Sie viele, viele Module für verschiedene Zwecke haben, aber immer das gleiche Modell.

Sie können ein Modul haben, das nur die Benutzerverwaltung übernimmt, die nur Filme verwaltet (hinzufügen/update), und ein anderes, das nur Filme (Lese-) Filme usw. verwaltet.

Andere Tipps

Ich denke, Sie könnten das meiste davon in einem ZF2 -Modul tun, vielleicht "MovieManager" genannt. Film und Person können Modelle (dh Basisklassen und Datenbanktabellen) im Namespace des MovieManager -Moduls sein.

Der Benutzer könnte ein separates Modul sein, um die Benutzerauthentifizierung und die Zugriffskontrolle zu behandeln. Sie können sich die Arbeit ansehen, die Evan Coury auf einem wiederverwendbaren ZF2 -Benutzermodul geleistet hat: https://github.com/zf-commons/zfcuser Oder Sie können es einfach halten und das Benutzermodell auch in Ihr MovieManager -Modul einfügen.

Ich würde Zend_ACl verwenden, um zu definieren, welche Vorgänge ein bestimmter Benutzer ausführen darf. Oder Sie können dies einfacher tun, indem Sie eine grundlegende "Rolle" -Reeigenschaft in der Benutzerklasse haben und nach autorisierten Rollen in Ihren MovieManager -Controllern prüfen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top