Text Daten abrfufen
MB
- browser
- datenbank
- php
0 Gunnar Bittersmann0 TS2 dedlfix0 pl
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
@@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 🖖
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
@@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
@@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.
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
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
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
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.
Grüße
TS
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' ] ?>
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,
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
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
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
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.
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.
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?
file_get_contens() finde ich ist eine schöne methode daten reinzuholen und auszugeben bezüglich templates.
vlg MB
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.
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