Ankündigung

Einklappen
Keine Ankündigung bisher.

OOP - Abbilden eines Fragebogens

Einklappen

Neue Werbung 2019

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

  • OOP - Abbilden eines Fragebogens

    Hallo,

    ich frage mich grade, wie man einen Fragebogen sinnvoll und objektorientiert abbilden kann. Der Fragebogen besteht aus mehreren Fragen die jeweils mehrere Antworten haben. In Abhängigkeit der ausgewählten Antworten unterscheiden sich spätere Fragen, es kommen welche dazu, andere Fallen weg. So eine Art Baumstruktur.

    Ich habe jetzt erstmal fragebogen, Frage und Antwort als Objekte abgebildet, simple Data-Container eigentlich:

    Code:
    Test -hasMany-> Question -hasMany-> Answer
    Die Frage ist jetzt, wie bringe ich die "Auswahllogik" am besten unter. Wenn es nur einen Fragestrang gibt, ist das natürlich einfach, dann kann ich einfach alle Fragen dem Test-Container hinzufügen und die aktuelle jeweils anzeigen.

    Bei Fragen mit Vorbedingung habe ich das jetzt so gemacht:
    PHP-Code:
    if (@$answers['AV'] == 'AV5' || @$answers['AV'] == 'AV6') {
        
    $test->addQuestion($dauer);
        
    $test->addQuestion($befristet);

    $answers (array) enthält die bisherigen Antworten. (Und steinigt mich nicht für das @, ist ja nur zum demonstireren )

    Aber irgendwie gefällt mir die Möglichkeit nicht so recht. Gibt es da bessere Lösungen?

    alxy


  • #2
    vielleicht könntest du ja eine nested set struktur abbilden, zu jeder antwort kannst du weitere fragen dranhängen und weitere antworten usw

    PHP-Code:
    $question1 = new Question('Some Question?');
    $answer1 = new Answer('Yes');
    $question2 = new Question('If yes then why?');
    $answer1->add($question2);
    $question1->add($answer1); 
    also du gehst von innen nach außen so dass du am ende ein großes geschachteltes objekt hast, an jeder frage hängen antworten an jeder antwort hängen fragen an denen antworten dran hängen
    apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

    Kommentar


    • #3
      Konfigurieren statt programmieren lautet die Devise. Ein Fragebogen fest in Programmcode zu giesen halte ich für suboptimal.

      Kommentar


      • #4
        Sehe ich auch so. Schwierig wirds allerdings die Bedingung für die bedingte Seitenkontrolle in Konfiguration zu gießen.
        --

        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
        Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


        --

        Kommentar

        Lädt...
        X