turk porno porno escort rokettube
Ergebnis 1 bis 6 von 6

Thema: Services und deren Methoden

  1. #1
    Benutzer
    Registriert seit
    07.03.2013
    Beiträge
    62
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Standard Services und deren Methoden

    Hi,

    folgendes Szenario: Ich will auf einer Seite ein Restaurantverzeichnis mit deren Speisekarte darstellen. Der Aufbau ist so, dass die Speisekarte in mehrere Kategorien aufgeteilt werden kann, welche vom Restaurant frei gewählt werden können. z. B.:

    Restaurant 1 => Getränke
    Restaurant 1 => Fleischgerichte
    Restaurant 1 => Fischgerichte

    Restaurant 2 => Getränke
    Restaurant 2 => Gerichte mit Fleisch

    Somit ergeben sich vorerst zwei Entities (Restaurant und MenuCategory).

    Meine erste Frage bezieht sich auf die Services der Entities. Erstelle ich nun einen RestaurantService der über die Methode "getMenuCategories($restaurantId)" verfügt, oder erstelle ich einen separaten "MenuCategoryService" der über eine Methode "getAllByRestaurantId($restaurantId)" verfügt, um auf die Kategorien eines Restaurants zuzugreifen? Hier versteh ich noch nicht so ganz, was der richtig Ansatz ist. Meine Vermutung liegt jedoch beim zweiten Ansatz.

    Angenommen der separate Service wäre die beste Lösung, würde sich folgendes problem daraus ergeben: Im RestaurantController habe ich zwei actions für die Darstellung der Restaurant Detailseite und die Darstellung der Speisekarte (viewAction und menuAction). Einmal würde ich den CompanyService benötigen und das andere Mal den MenuCategoryService, jedoch nie beide. Allerdings müsste ich über die ControllerFactory, welche die services injiziert immer beide Services injizieren, was nicht gerade performant ist. Bei zwei Services wäre dies vielleicht noch vertretbar, bei mehreren jedoch nicht. Also was wäre hier der beste Weg? Dachte schon in Richtung EventListener, aber ist das nicht ein wenig übertrieben?

    Danke euch schon mal für eure Anregungen!
    Dominik

  2. #2
    Super-Moderator Avatar von Kaiuwe
    Registriert seit
    30.12.2006
    Beiträge
    5.520
    Thanks
    4
    Thanked 356 Times in 287 Posts

    Standard

    Zitat Zitat von domeb Beitrag anzeigen
    Somit ergeben sich vorerst zwei Entities (Restaurant und MenuCategory).

    Meine erste Frage bezieht sich auf die Services der Entities. Erstelle ich nun einen RestaurantService der über die Methode "getMenuCategories($restaurantId)" verfügt, oder erstelle ich einen separaten "MenuCategoryService" der über eine Methode "getAllByRestaurantId($restaurantId)" verfügt, um auf die Kategorien eines Restaurants zuzugreifen?
    Mal schnell geschossen: Warum kennt ein Restaurant nicht seine eigenen Menüs?

    Per Code ausgedrückt:
    PHP-Code:
    $restaurant->getMenuCategories(); 
    Zum Zend Framework stehen jedem folgende Quellen zum Nachschlagen zur Verfügung:

  3. #3
    Erfahrener Benutzer Avatar von Ralf
    Registriert seit
    14.12.2006
    Beiträge
    450
    Thanks
    0
    Thanked 47 Times in 37 Posts

    Standard

    Moin,

    ich denke auch, dass es kein Problem ist, wenn dein RestaurantService nicht nur die Daten für das Restaurant, sondern auch die Menükategorien zurückgeben kann, auch wenn es sich dabei um unterschiedliche Entitäten (Restaurant und Kategorie) handelt.

    Gruß,

    Ralf

  4. #4
    Benutzer
    Registriert seit
    07.03.2013
    Beiträge
    62
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Standard

    @Kaiuwe: Ich denke nicht, dass es richtig ist die Kategorien über die Restaurant Entity zu holen, da ich dann ja immer eine Restaurant Entity benötige, was aber nicht immer notwendig ist.

    @Ralf: Ich denk auch, dass es in diesem Fall vertretbar wäre. Es ist eher unwahrscheinlich, dass alle Kategorien, ohne die Restaurant Entity abgefragt werden müssen. Der eigene Service hätte dann also nur eine Methode und wär wahrschinlcih etwas übertrieben.

    Aber was wäre die beste Lösung, Controller zu verwalten, welche von mehreren Services abhängig sind? Bei jedem Aufruf alle Services über die Factory zu injizieren, um dann nur einen davon zu verwenden, finde ich eher nicht so gut

    Danke und Gruß
    Dominik

  5. #5
    Super-Moderator Avatar von Kaiuwe
    Registriert seit
    30.12.2006
    Beiträge
    5.520
    Thanks
    4
    Thanked 356 Times in 287 Posts

    Standard

    Zitat Zitat von domeb Beitrag anzeigen
    @Kaiuwe: Ich denke nicht, dass es richtig ist die Kategorien über die Restaurant Entity zu holen, da ich dann ja immer eine Restaurant Entity benötige, was aber nicht immer notwendig ist
    Ich einfach mal von der allgemeinen Realität/Tatsache ausgegangen, dass ein Restaurant auch sein Menü und dessen Kategorien kennt.
    Zum Zend Framework stehen jedem folgende Quellen zum Nachschlagen zur Verfügung:

  6. #6
    Benutzer
    Registriert seit
    30.05.2009
    Ort
    München
    Beiträge
    84
    Thanks
    0
    Thanked 37 Times in 14 Posts

    Standard

    Zitat Zitat von domeb Beitrag anzeigen
    Aber was wäre die beste Lösung, Controller zu verwalten, welche von mehreren Services abhängig sind? Bei jedem Aufruf alle Services über die Factory zu injizieren, um dann nur einen davon zu verwenden, finde ich eher nicht so gut

    Danke und Gruß
    Dominik
    Lazy Services
    Die Services werden als proxy vorgehalten, bis du einen service konkret ansprichst. Genau so funktionieren deine Doctrine entities auch.

Ähnliche Themen

  1. Module und deren Aufgaben
    Von stefan1989 im Forum ZF2 Einsteigerfragen
    Antworten: 1
    Letzter Beitrag: 02.08.2013, 02:06
  2. Grundlegende Frage zur Controllern und deren Views/Scripts
    Von mr.niceguy im Forum Einsteigerfragen
    Antworten: 3
    Letzter Beitrag: 25.08.2011, 21:51
  3. Antworten: 2
    Letzter Beitrag: 09.06.2010, 20:32
  4. Alle Module, Controller und deren Actions auslesen
    Von CHAOSFISCH im Forum Einsteigerfragen
    Antworten: 4
    Letzter Beitrag: 10.10.2009, 21:44
  5. Ajax success und failure methoden
    Von ChristianFischer im Forum Offtopic
    Antworten: 1
    Letzter Beitrag: 19.09.2007, 12:31

Lesezeichen

Berechtigungen

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