Contao-Camp 2024
Ergebnis 1 bis 3 von 3

Thema: Code-Redundanz in Controllern

  1. #1
    Contao-Nutzer Avatar von dako314
    Registriert seit
    04.05.2013.
    Ort
    Mannheim
    Beiträge
    120

    Frage Code-Redundanz in Controllern

    Hallo zusammen,

    ich baue gerade ein Contao-Bundle für eine zu entwickelnde Plattform. Hierzu ein kleines Beispiel:

    Es gibt Beiträge. Diese Beiträge sind Kategorien zugeordnet. Jeder Benutzer darf nur bestimmte (von ihm gekaufte) Kategorien und deren Beiträge sehen. Außerdem gibt es so Dinge wie "Zuletzt angeschaute Beiträge", "Favorisierte Beiträge" oder "Abonnieren von Kategorien für E-Mail Benachrichtigung bei neuen Videos".

    Alles schön und gut, die Datenstruktur, Controller und Models stehen schon.

    Meine Frage ist, wo ich die Logik für die Abfragen/Permissions platziere, denn es ist nicht nur ein "Entry::findAll()", sondern ein Lookup in weiteren Tabellen. Dies möchte ich nicht in den Controllern jedes Mal wiederholen. Packe ich das als statische Funktionen in die Models? Oder was ist da Best-Practise? Wie kann ich hier Code-Redundanz vermeiden?

    Danke für die Hilfe.

    Viele Grüße
    Daniel Koch

  2. #2
    Contao-Nutzer Avatar von BennyBorn
    Registriert seit
    10.06.2011.
    Ort
    Edenkoben
    Beiträge
    240
    Partner-ID
    6916

    Standard

    Naja, ob es in Contao da wirklich eine Best Practice gibt bin ich mir nicht sicher.
    An vielen Stellen wir ja einfach nur im entsprechenden Frontend-Modul die Rechtefrage geklärt.

    Je nachdem wie Du alles bisher aufgebaut hast würde ich es persönlich entweder direkt in die Models mit reinpacken oder aber eben eine extra Permissions-Klasse bauen. Beides schon gemacht, je nach Use-Case unterschiedlich aber am Ende des Tages Code gespart und Übersichtlichkeit gewahrt

  3. #3
    Contao-Nutzer Avatar von dako314
    Registriert seit
    04.05.2013.
    Ort
    Mannheim
    Beiträge
    120

    Standard

    Zitat Zitat von BennyBorn Beitrag anzeigen
    Naja, ob es in Contao da wirklich eine Best Practice gibt bin ich mir nicht sicher.
    An vielen Stellen wir ja einfach nur im entsprechenden Frontend-Modul die Rechtefrage geklärt.

    Je nachdem wie Du alles bisher aufgebaut hast würde ich es persönlich entweder direkt in die Models mit reinpacken oder aber eben eine extra Permissions-Klasse bauen. Beides schon gemacht, je nach Use-Case unterschiedlich aber am Ende des Tages Code gespart und Übersichtlichkeit gewahrt
    Danke für die Antwort. Ich habe nun alles in die Model-Klassen gemacht, ansonsten hätte ich einigen redundanten Code. Ich glaube noch besser wäre echt eine extra Permission-Klasse, aber das wäre dann für das Projekt wahrscheinlich zu viel.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •