Ankündigung

Einklappen
Keine Ankündigung bisher.

Architektur für ein ZF2 Projekt

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Architektur für ein ZF2 Projekt

    Hallo zusammen,

    ich arbeite gerade an einem etwas größerem Tool, welches auf dem Zend Framework 2 basieren soll, eine CRM Software welche Branchenlösungen bereit stellt. Als erstes würde ich gerne wissen wie ich das architektonisch am besten aufbaue, hab da so meine Idee aber vlt gibt es ja eine bessere:

    Meine Idee wäre im Module Ordner:

    CRM -> Hauptmodulordner
    - Standard -> Die Standard Applikation, CRM Funktionen die jeder nutzt
    - Branche A -> Branchenlösung die Funktionen der Standard erweitert oder überschreibt
    - Kunde X -> Kundenspezifische Lösung die Standard und Branche überschreibt und erweitert

    Das ganze soll eigentlich nur ein Webservice sein, der eine AngularJS App mit Daten versorgt.

    Jetzt zu meinen Fragen
    :: Wie baue ich hier eine Kundenkonfiguration auf, da jeder Kunde ja hier aufschlägt, also muss das System wissen, welche Module (CRM, Branche, Kunde) geladen werden sollen.
    :: Ist das überhaupt so sinnvoll das so aufzubauen, oder gibt es bessere Ansätze (wovon ich einfach mal stark ausgehe)
    :: Jeder Kunde soll seine eigene DB haben, allein das Usermanagement läuft über eine DB. Heisst, User logged sich über Loginseite ein, da der User da noch unbekannt ist eben eine User DB, und dann wird seine Konfig geladen die vorgibt welche Module er bekommt und aus welcher DB seine Daten.

    Danke für Eure Hilfe
    Kerstel

  • #2
    Ich würde Repositories & Builder nutzen.

    Unterschiedliche Konfigurationen erledigt der Builder und erzeugt diese aus den entsprechenden Repositories ( via composer ).
    [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

    Kommentar


    • #3
      würde aber heissen, das die Applikation nicht unter einer Domäne läuft oder?

      Kommentar


      • #4
        Definiere Domäne.
        [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

        Kommentar


        • #5
          Eben alles innerhalb einer ZF2 Applikation, wie oben beschrieben in einem Modul Ordner.

          Kommentar


          • #6
            Deine Module sind in dem Fall einzelne Repositories. Du würdest halt während des deploys zum Livesystem oder zur Testumgebung das ganze zusammensetzen. Wie du das Modular aufbaust hängt von dir ab und schlussendlich von der Leistung die du in git auslagern willst. Du könntest das ganze bspw. mit gitmodules bauen und im endeffekt nur ein repository anzapfen beim deploy. Oder du setzt im Deploy prozess erst mehrere repositories zur final Struktur zusammen und steckst die Konfiguration drauf ( so gehe ich vor ).

            Was also Domäne wird, ist noch nicht in Stein gemeißelt und hängt davon ab wie du das aufbaust.
            [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

            Kommentar


            • #7
              ich glaub wir haben da aneinander vorbeigeredet bzw. ich hab es nicht richtig erklärt.

              Ich habe nur eine ZF2 Installation, auf die alle Kunden zugreifen. Der Kunde logged sich ein und bekommt die Dinge zur Verfügung gestellt die für Ihn freigegeben sind. Also nicht jeder Kunde bekommt eine eigene Installation. Verstehst Du wie ich meine?

              Kommentar


              • #8
                Achso und du möchtest dann quasi nutzer spezifisch unterschiedliche Funktionalität ausliefern. Nun, wenn du das vorhast musst du nicht zwingend Haupt-Module und Untermodule erzeugen. Grundsätzlich kannst du die Funktionalitäten Modularisieren und ebend für bestimmte Logins / Authentifizierungen / Identifizierungen unterschiedliche Sets an Module zum Funktionsumfang der Anwendung routen.

                Dort jetzt spezifisch für Implementierungen Ordner zu erzeugen die Codes enthalten die nur für XY spezifisch entwickelt wurden "backt" irgendwo für jeden Kunden eigene Module. Ich würde das so nicht wollen ( schränkt im ersten Blick Wiederverwendbarkeit ein - je nach dem wie man das macht ).
                [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

                Kommentar


                • #9
                  ok verstehe. d.h. wenn ein kunde eine individuelle sache will dann wird das ein ganz normales modul. Wie sieht das mit den sets aus? Hab da nix bei google gefunden, hättest du ein bsp für mich?

                  Kommentar


                  • #10
                    Sets, Bündel, Sammlung an aktiven Modulen, nenne es wie du willst ^^
                    [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

                    Kommentar


                    • #11
                      ja. ich find nur nix wie man das im zf aufbauen kann. deswegen such ich n bsp, tutorial etc. hast du da was?

                      Kommentar


                      • #12
                        Leider nein, ich verwende ZF schon länger nicht mehr. Aber das ist denke ich weniger eine Framework-Frage, sondern eher eine Konzeptionsfrage.
                        [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

                        Kommentar


                        • #13
                          Mit was würdest du es machen?

                          Kommentar


                          • #14
                            Zitat von kerstel Beitrag anzeigen
                            Mit was würdest du es machen?
                            Du meinst mit welchem Framework ich arbeiten würde ?
                            [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

                            Kommentar


                            • #15
                              Ja. Ist ja nicht nur eine konzeptionsfrage, sondern auch eine der umsetzung

                              Kommentar

                              Lädt...
                              X