MB: Text Daten abrfufen

Moin community,

mich interessiert mal wie text daten die im Browser Angezeigt werden mit all seiner strukrur abgespeichert sind bezogen auf MVC. sind alle anzeigbaren Text daten in array abgespeichert oder in Datenbanken? Den dann müssten natürlich auch alle strukturierungen der texte in diese Speicherung mit inbegriffen sein odr sehe ich das falsch?

vlg MB

  1. @@MB

    mich interessiert mal wie text daten die im Browser Angezeigt werden mit all seiner strukrur abgespeichert sind bezogen auf MVC. sind alle anzeigbaren Text daten in array abgespeichert oder in Datenbanken?

    Nö, die Texte können auch in den Views hartcodiert sein.

    LLAP 🖖

    --
    “I love to go to JS conferences to speak about how to avoid using JavaScript. Please learn CSS & HTML to reduce your JS code bloat.” —Estelle Weyl
    1. Hallo Gunnar,

      Nö, die Texte können auch in den Views hartcodiert sein.

      kleines Beispiel? Sorry, ich verstehe die AW nicht. Ich kenne die Begriffe aber den zusammenhang nicht :/.

      vlg MB

      1. @@MB

        Hallo Gunnar,

        Nö, die Texte können auch in den Views hartcodiert sein.

        kleines Beispiel? Sorry, ich verstehe die AW nicht. Ich kenne die Begriffe aber den zusammenhang nicht :/.

        View könnte so in etwa aussehen:

        <p>Folgende Personen entsprechen deinen Kriterien:</p>
        <table>
          <thead>
            <tr>
              <th>Name</th>
              <th>DNA-Checksumme</th>
            </tr>
          </thead>
          <tbody>
        <?php foreach ($persons as $person): ?>
            <tr>
              <td><?= htmlspecialchars($person['name']) ?></td>
              <td><?= htmlspecialchars($person['dnaChecksum']) ?></td>
            </tr>
        <?php endforeach; ?>
          </tbody>
        </table>
        

        Die Texte (über der Tabelle und Spaltenüberschriften) stehen direkt dort drin und kommen aus keiner Datenbank.

        LLAP 🖖

        PS: http://xmlns.com/foaf/spec/#term_dnaChecksum

        --
        “I love to go to JS conferences to speak about how to avoid using JavaScript. Please learn CSS & HTML to reduce your JS code bloat.” —Estelle Weyl
        1. @@Gunnar Bittersmann

          Nö, die Texte können auch in den Views hartcodiert sein.

          Die Texte (über der Tabelle und Spaltenüberschriften) stehen direkt dort drin und kommen aus keiner Datenbank.

          Das ist nicht gerade gut für Internationalisierung. Bei Mehrsprachigkeit müsste man Views in mehrerer Sprachversionen pflegen.

          LLAP 🖖

          PS: Danke, dedlfix.

          --
          “I love to go to JS conferences to speak about how to avoid using JavaScript. Please learn CSS & HTML to reduce your JS code bloat.” —Estelle Weyl
          1. d.h. es klappt nicht wenn man sowas macht...

            <html lang="<?php ... ?>">
              <head>
                <title><?php ... ?></title>
              </head>
              <body>
              </body>
            </html>
            

            oder

            <html lang="{{code}}">...</html>
            

            vlg MB

            1. Hallo und gute Nacht,

              d.h. es klappt nicht wenn man sowas macht...

              <html lang="<?php ... ?>">
                <head>
                  <title><?php ... ?></title>
                </head>
                <body>
                </body>
              </html>
              

              oder

              <html lang="{{code}}">...</html>
              

              Du weißt, was eine Zuweisung ist?

              Da steht auf der einen Seite ein Akzeptor und auf der anderen Seite ein Donator. Den Akzeptor kennst Du hier. Das ist das innerHTML des Zielelementes. Aber den Donator musst Du dazu passend herausfinden. Das machst Du i. d. R. mit Hilfe eines Schlüssels, der auf beiden Seiten gleich ist.

              Du brauchst alsu links eine ID, die Du dann rechts als Index in eine Tabelle, ein Array, oder sonst eine Collection benutzen kannst.

              Leider ist Sprache aber nicht derartig linar (1:1) übersetzbar. Es kann also passieren, dass die Übersetzung auch Einfluss auf die Struktur hat. Aber das wird jetzt wissenschaftlich. Man müsste also eigentlich auch die Syntaxdiagramme der Sprachen aufeinander abgleichen...

              Grüße
              TS

              --
              es wachse der Freifunk
              http://freifunk-oberharz.de
              1. Hallo TS,

                Du weißt, was eine Zuweisung ist?

                Da steht auf der einen Seite ein Akzeptor und auf der anderen Seite ein Donator.

                Die Begriffe habe ich in dem Zusammenhang noch nicht gehört, finde sie aber richtig passend. Sind diese Bezeichnungen gängig oder hast du dir sie nur ausgedacht?

                Bis demnächst
                Matthias

                --
                Dieses Forum nutzt Markdown. Im Wiki erhalten Sie Hilfe bei der Formatierung Ihrer Beiträge.
  2. Hallo und guten Abend,

    mich interessiert mal wie text daten die im Browser Angezeigt werden mit all seiner strukrur abgespeichert sind bezogen auf MVC. sind alle anzeigbaren Text daten in array abgespeichert oder in Datenbanken? Den dann müssten natürlich auch alle strukturierungen der texte in diese Speicherung mit inbegriffen sein odr sehe ich das falsch?

    Wo sollen die Daten gespeichert werden?

    HTML ist ein Inline Format. Dort sind Daten, Struktur und früher auch Designangaben gemischt gespeichert. Durch den Parser werden sie dann wieder separiert und im DOM Document Object Model abgespeichert. Das ist eine komplexe Baumstruktur.

    Guckst Du DOM und DOM

    Grüße
    TS

    --
    es wachse der Freifunk
    http://freifunk-oberharz.de
    1. Hallo TS,

      Wo sollen die Daten gespeichert werden?

      in abrufbaren Dantenbanken oder arrays

      $data = [
        'welcome' => [
          'en' => "<strong>welcome</strong> ...",
          'de' => "<strong>Willkommen</strong> ...",
        ]
      ]
      
      <article
        <section>
          <?php $data[ 'welcome' ][ 'de' ] ?>
        </section>
      </article>
      

      oder in meinen augen noch verzettelter...

      $data = [
        'welcome' => [
          'en' => "<article><section><strong>welcome</strong> ...</section></article>",
          'de' => "<article><section><strong>Willkommen</strong> ...</section></article>",
        ]
      ]
      
      <?php $data[ 'welcome' ][ 'de' ] ?>
      
      1. Hallo und gute Nacht,

        Wo sollen die Daten gespeichert werden?

        in abrufbaren Dantenbanken oder arrays

        $data = [
          'welcome' => [
            'en' => "<strong>welcome</strong> ...",
            'de' => "<strong>Willkommen</strong> ...",
          ]
        ]
        
        <article
          <section>
            <?php $data[ 'welcome' ][ 'de' ] ?>
          </section>
        </article>
        

        oder in meinen augen noch verzettelter...

        $data = [
          'welcome' => [
            'en' => "<article><section><strong>welcome</strong> ...</section></article>",
            'de' => "<article><section><strong>Willkommen</strong> ...</section></article>",
          ]
        ]
        
        <?php $data[ 'welcome' ][ 'de' ] ?>
        

        Wenn es nach mir geht, keine von den drei Versionen. Führe mal eine kleine Übung durch: erstelle nur die Struktur ohne Daten. Gib aber jedem Element, dass Daten enthalten soll, eine eindeutige ID.

        Und nun erstelle eine Datenbank,

        • id
        • lang
        • data

        Und dann nimmst Du dir die DOM-Klasse von PHP und ersetzt die leeren Elemente mit ID durch die passenden gefüllten. Kannst Du auch mit JavaScript machen, wenn dir das PHP-DOM noch zu viel auf einmal ist..

        Grüße
        TS

        --
        es wachse der Freifunk
        http://freifunk-oberharz.de
        1. Hallo TS,

          Führe mal eine kleine Übung durch: erstelle nur die Struktur ohne Daten. Gib aber jedem Element, dass Daten enthalten soll, eine eindeutige ID.

          Und nun erstelle eine Datenbank,

          • id
          • lang
          • data

          Und dann nimmst Du dir die DOM-Klasse von PHP und ersetzt die leeren Elemente mit ID durch die passenden gefüllten. Kannst Du auch mit JavaScript machen, wenn dir das PHP-DOM noch zu viel auf einmal ist..

          ist jacke wie hose wenn ich erstmal die Anweisung die du mir grad gestellt hast verstehen würde. Ich versteh nicht was du meinst. Was für eine struktur, welche ids, Wie gefüllt? Ich kann nicht einfach eine füllung zaubern weil ich sie nicht erstellt hab.

          Mach mir mal n simples Beispiel wie ich eins gemacht habe. vlg MB

          1. Hallo und gute Nacht,

            "flott" geht nicht. Musst Du bis morgen warten. Am Tablet ist das ein bisschen viel des Guten.
            Und "bitte" hast Du nicht benutzt, sonst wäre ich vielleicht nochmal aufgestanden. Aber isch habe Rücken (frei nach HaPe Kerkeling)

            Führe mal eine kleine Übung durch: erstelle nur die Struktur ohne Daten. Gib aber jedem Element, dass Daten enthalten soll, eine eindeutige ID.

            Und nun erstelle eine Datenbank,

            • id
            • lang
            • data

            Mach mir mal n simples Beispiel wie ich eins gemacht habe. vlg MB

            Benutz mal bitte Google und tippe html id

            Grüße
            TS

            --
            es wachse der Freifunk
            http://freifunk-oberharz.de
            1. Hallo TS,

              "flott" geht nicht. Musst Du bis morgen warten. Am Tablet ist das ein bisschen viel des Guten.

              Bitte mach dir keinen stress. Ist kein kostenloaser Zwangsaufrag ;-). Wenns zuuu aufwändig ist, lass es. Ich werde mich an die Links die du mir gegeben hast halten. Danke.

              Und "bitte" hast Du nicht benutzt, sonst wäre ich vielleicht nochmal aufgestanden. Aber isch habe Rücken (frei nach HaPe Kerkeling)

              Entschuldige, dachte das wäre offensichtlich. Biite :-).

              vlg MB

              PS: Ich hab auch das Problem zu der Fragestellung und erläuterung des problems, kombiniert anstand zu zeigen. Falls das auf tritt das sich bitte bitte keiner auf den schlipsketreten fühlt.

  3. Tach!

    mich interessiert mal wie text daten die im Browser Angezeigt werden mit all seiner strukrur abgespeichert sind bezogen auf MVC.

    MVC ist ein Muster, keine Handlungsanweisung. Wie du das konkret umsetzt ist allein deine Entscheidung.

    Was im Browser angezeigt wird, erzeugt die View. Wie die das macht, ist Sache des Programmierers. Meist wird das ein HTML-Dokument (oder ein Teil davon) mit einer Art Template-Sprache sein. Seien es Platzhalter oder Anweisungen in Code-Form.

    sind alle anzeigbaren Text daten in array abgespeichert oder in Datenbanken?

    Sowohl als auch, weder noch, ja, nein, und außerdem noch. In anderen Worten: wie es beliebt.

    Den dann müssten natürlich auch alle strukturierungen der texte in diese Speicherung mit inbegriffen sein odr sehe ich das falsch?

    Alles muss gespeichert sein. In Datenhaltungen wie Datenbanken, Dateien oder im Programmcode.

    dedlfix.

    1. nabend dedlfix

      Den dann müssten natürlich auch alle strukturierungen der texte in diese Speicherung mit inbegriffen sein odr sehe ich das falsch?

      Alles muss gespeichert sein. In Datenhaltungen wie Datenbanken, Dateien oder im Programmcode.

      jo. nur wir kann man es am elegantesten lösen?

      • Schön fände ich DBMS, aber mein problem ist die Strukturierung der HTML die man ja auch irgend wie abspeichern muss.
      • Andere Idee wäre ja Arrays die das für einen erledigen. aber das ist dann schon etwas merkwürdige. HTML-Code in einem PHP-Array.

      file_get_contens() finde ich ist eine schöne methode daten reinzuholen und auszugeben bezüglich templates.

      vlg MB

      1. Tach!

        jo. nur wir kann man es am elegantesten lösen?

        Da gibts kein allgemeines "am elegantesten". Du musst die Lösungswege anhand deiner Aufgabenstellung bewerten.

        Im einfachsten Fall geht das mit Variablen erstellen mit dem variablen Inhalt der Seite und diese dann mit include einbinden. Die Variablen platziert man dann innerhalb von <?= htmlspecialchars(...) ?>. Einfacher gehts nicht, Einfachheit ist auch Eleganz. Aber Eleganz spielt keine so bedeutende Rolle. Handhabbarkeit und Wartbarkeit sind wichtiger. Andere Anforderungen können erfordern, dass man das auf andere Weise löst, weil diese handhabbarer in dem anderen Umfeld ist. Beispielsweise mit einem anderen Template-System.

        dedlfix.

  4. Deine Frage zielt auf den Data Access Layer. Beispiele:

    # Austauschbare Layer
    my $dal = FastEAV->new( file => 'templates.bin ');
    my $dal = MySQLEAV->new( base => 'webdata', tabn => 'templates');
    
    # ansonsten ab $dal immer gleiche Syntax
    my $tmpl = $dal->{'/index.html'}{'body'};
    

    Fazit: Wie die Daten abgelegt sind, Datei oder Tabelle und wie die Datei oder die Tabelle aufgebaut ist, spielt im Programmcode keine Rolle mehr. Nach der Qualifizierung eines DAL, sprich Name und ein paar Parameter, ist in der Anwendung der Programmcode immer gleich.

    MfG