|
|
|
|
also bei mir reicht es jetzt grade von
"Es ist ein Fehler aufgetreten, die angeforderte Seite existiert (noch) nicht. Du wurdest auf die Startseite weitergeleitet."
bis zu ganz kurzen Texten oder Überschriften. Also meist 2-3 Sätze
/ natürlich auf peacemaker bezogen
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von kinglui69 am 14.04.2007 22:57]
|
|
|
|
|
|
Fehlermeldungen nicht in die DB, Überschriften bzw. alles was nachträglich geändert wird in die Datenbank.
Zum Beispiel ein Copyright-Text sollte auch erscheinen, wenn ein Fehler in der Datenbank auftritt.
|
|
|
|
|
|
|
die geschwindigkeitsunterschiede sind eigentlich gering, es sei denn, deine mysqldb ist irgendwie lahm. größer ist nur der aufwand, den man treiben muss. aber es macht die internationalisierung auch einfacher. ich würd abraten.
siggi, ich hab irgendwo vor 23 milliarden seiten schonmal erwähnt, dass ich ausprobieren hasse. (nein, das erwarte ich nicht von jedem zu wissen.) wenn ich mich irgendwo einarbeite, dann soll sich das auch lohnen, aber für vim scheint mir ne menge zeit nötig zu sein, das lohnt für den einen abend einfach nicht.
|
|
|
|
|
|
|
| Zitat von [DK]Peacemaker
Fehlermeldungen nicht in die DB, Überschriften bzw. alles was nachträglich geändert wird in die Datenbank.
Zum Beispiel ein Copyright-Text sollte auch erscheinen, wenn ein Fehler in der Datenbank auftritt.
| |
okay, super. Ich habe jetzt ne ganz billige Funktion, die ich halt immer mit irgendner id "füttere", je nachdem was ich für nen inhalt brauche.
|
Code: |
function text($id)
{
$res = mysql_result(mysql_query("SELECT (text) FROM text WHERE id='".$id."'"), 0);
return $res;
} |
|
|
|
|
|
|
|
|
| Zitat von rABBI
die geschwindigkeitsunterschiede sind eigentlich gering, es sei denn, deine mysqldb ist irgendwie lahm. größer ist nur der aufwand, den man treiben muss. aber es macht die internationalisierung auch einfacher. ich würd abraten.
| |
genau darum geht es mir, die Seite soll später noch differenziert und evtl in anderen Sprachen angeboten werden. Im nachhinein erspare ich mir damit wohl ne Menge Zeit, wenn ich einfach nur die Datenbank-Einträge übersetzen muss
|
|
|
|
|
|
|
| Zitat von rABBI
siggi, ich hab irgendwo vor 23 milliarden seiten schonmal erwähnt, dass ich ausprobieren hasse. (nein, das erwarte ich nicht von jedem zu wissen.) wenn ich mich irgendwo einarbeite, dann soll sich das auch lohnen, aber für vim scheint mir ne menge zeit nötig zu sein, das lohnt für den einen abend einfach nicht.
| | Wer lernt mit vim umzugehen lernt nicht für einen Abend, der lernt fürs Leben.
|
|
|
|
|
|
|
Ich hab mich wohl nicht klar ausgedrückt. Solche Texte auszulagern macht Sinn, aber nicht in die Datenbank sondern in einem lokalen Speicher, wie eine Xml-Datei zum Beispiel. Das macht die Internationalisierung sogar leichter, da diese sich dann durch Ersetzen einer einzigen Daten durchführen lässt. PHP bringt da nichts eigenes mit, aber da dürften auch einfache Xml Layouts reichen. Über XPath lassen sich aber auch komplizierte Konstrukte referenzieren, die einem SQL Query ähneln.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von [DK]Peacemaker am 14.04.2007 23:09]
|
|
|
|
|
|
siggi, eindeutig: religiöser eifer.
|
|
|
|
|
|
|
| Zitat von [DK]Peacemaker
Ich hab mich wohl nicht klar ausgedrückt. Solche Texte auszulagern macht Sinn, aber nicht in die Datenbank sondern in einem lokalen Speicher, wie eine Xml-Datei zum Beispiel. Das macht die Internationalisierung sogar leichter, da diese sich dann durch Ersetzen einer einzigen Daten durchführen lässt. PHP bringt da nichts eigenes mit, aber da dürften auch einfache Xml Layouts reichen. Über XPath lassen sich aber auch komplizierte Konstrukte referenzieren, die einem SQL Query ähneln.
| |
stimmt, darüber hab ich noch gar nicht nachgedacht...mit xml hab ich mich jetzt noch nie beschäftigt, aber ich könnte ja auch eine php-datei voll mit variablen erstellen und je nach gewähltem land eine andere datei einbinden.
|
|
|
|
|
|
|
| Zitat von rABBI
siggi, eindeutig: religiöser eifer.
| | Auch du wirst noch bekehrt werden mein Sohn.
|
|
|
|
|
|
|
Ja das wäre auch eine Möglichkeit, hat aber den Nachteil, dass diese Datei dann vom Webserver ausgeführt wird und somit eine mögliche Sicherheitlücke darstellt. Du kannst natürlich auch einfach eine Textdatei nehmen und diese dann anhand der Zeilennummer verwenden. Also Id = Zeile, wobei du dann natürlich vorher Textumbrüche ersetzen musst. Aber es macht auf jeden Fall Sinn eine nicht ausführbare Datei zu verwenden. Ich weiß leider nicht, wie schnell der PHP Xml Parser ist, aber für den Anfang kannst du auch einfach ein solches Layout verwenden:
|
Code: |
<?xml version="1.0" encoding="utf-8"?>
<resources culture="de-DE">
<string name="Copyright">
2007 kinglui69
</string>
</resources>
|
|
Ergänzend noch passend der XPath "Pfad" zu diesem Knoten (ungetestet )
|
PHP: |
function getString($name, $culture = "de-DE")
{
...
$xpath = "/resources[@lang='$culture']/string[@name='$name']";
...
}
|
|
Hab nur gerade keine Ahnung mehr, wie das mit Xml und PHP ist.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von [DK]Peacemaker am 14.04.2007 23:19]
|
|
|
|
|
|
naja, die php-variablen würden ja geparst und außerdem sind darin ja keine wichtigen Daten gespeichert, die man nicht auch so beim surfen auf der Seite zu gesicht bekommt. Wie würde ich denn jetzt aus einem php-doc auf das "2007 kinglui69" zugreifen?
/okay, das mit dem zugreifen hab ich gefunden...
|
Code: |
<?php
if (file_exists('artikel.xml')) {
$xml = simplexml_load_file('artikel.xml');
echo $xml->teaser[0];
} else {
exit('Konnte Datei nicht laden.');
}
?> |
|
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von kinglui69 am 14.04.2007 23:22]
|
|
|
|
|
|
Wobei das nicht viel Sinn macht, da eine Xml-Datei nur einen Root-Node hat und man daher die Culture anhand der Datei bestimmen muss.
|
|
|
|
|
|
|
simplexml ist recht flott. und die xpath-unterstützung ist (soweit ich das im hinterkopf hab) auch recht ausgearbeitet. aber er brauchs ja nicht übermäßig komplex.
|
|
|
|
|
|
|
| Zitat von [DK]Peacemaker
Wobei das nicht viel Sinn macht, da eine Xml-Datei nur einen Root-Node hat und man daher die Culture anhand der Datei bestimmen muss.
| |
was ist eine root-node? sprichst du davon, dass man nur eine Sprache im doc unterbringen könnte? man könnte doch einfach je sprache eine andere xml-datei einbinden.
|
|
|
|
|
|
|
Wie handelt das Zend intern? Wenn eine Instanz (also eine gerade parsende PHP Seite), nen Objekt erzeugt, wird der Speicher doch am Ende komplett freigegeben. D.h. die geparste XML-Datei steht einer anderen (evtl. auch späteren Instanz) nicht mehr zur verüfung und muss erneut geparst werden.
Erzeugt das nicht massig Overhead, selbst wenn die Datei gecached wird? Schon allein des parsen dauert doch Stunden.
|
|
|
|
|
|
|
wir und boese? also wirklich
|
|
|
|
|
|
|
| Zitat von Achse-des-boesen
Wie handelt das Zend intern? Wenn eine Instanz (also eine gerade parsende PHP Seite), nen Objekt erzeugt, wird der Speicher doch am Ende komplett freigegeben. D.h. die geparste XML-Datei steht einer anderen (evtl. auch späteren Instanz) nicht mehr zur verüfung und muss erneut geparst werden.
Erzeugt das nicht massig Overhead, selbst wenn die Datei gecached wird? Schon allein des parsen dauert doch Stunden.
| |
Vollkommen richtig, gilt aber auch für die PHP Datei mit den Variablen.
|
|
|
|
|
|
|
| Zitat von kinglui69
| Zitat von [DK]Peacemaker
Wobei das nicht viel Sinn macht, da eine Xml-Datei nur einen Root-Node hat und man daher die Culture anhand der Datei bestimmen muss.
| |
was ist eine root-node? sprichst du davon, dass man nur eine Sprache im doc unterbringen könnte? man könnte doch einfach je sprache eine andere xml-datei einbinden.
| |
Ja würde ich so empfehlen, dann kann man auch das "culture" Attribut rausnehmen. Der Root-Node ist der oberste Knoten und da kann es nur einmal geben Bei Html ist es der <html> Knoten.
|
|
|
|
|
|
|
| Zitat von [DK]Peacemaker
| Zitat von Achse-des-boesen
Wie handelt das Zend intern? Wenn eine Instanz (also eine gerade parsende PHP Seite), nen Objekt erzeugt, wird der Speicher doch am Ende komplett freigegeben. D.h. die geparste XML-Datei steht einer anderen (evtl. auch späteren Instanz) nicht mehr zur verüfung und muss erneut geparst werden.
Erzeugt das nicht massig Overhead, selbst wenn die Datei gecached wird? Schon allein des parsen dauert doch Stunden. | | Vollkommen richtig, gilt aber auch für die PHP Datei mit den Variablen. | | Schon. Nur würde ich vermuten, dass die Engine deutlich fixer mit einer PHP Datei umgehen kann, als mit einer xml-Datei. Aber das dürfte vermutlich nur auf hochfrequentierten Seiten eine Rolle spielen.
|
|
|
|
|
|
|
gerade mal ein bissl bei drweb über xml und php gelesen, klingt ja ziemlich easy aber was bedeutet das problem mit dem mehrfach parsen jetzt? doch keine so gute Idee mit der xml/php-Datei?
/wir reden natürlich von einer extrem hochfrequentierten Seite
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von kinglui69 am 14.04.2007 23:42]
|
|
|
|
|
|
wenn es denn tatsächlich um eine hochfrequentierte seite geht, dann fängst du am besten damit an, dir zu überlegen, was wann wie und wo gecached werden kann. und dann bindest du so wenig dynamik wie möglich ein und lagerst auf datenbanken aus. ja, notfalls lagert man dann auch 150 zeilen lokalisierung auf eine mysqldb. oder schreibt gleich fertig im cache liegende templates.
und bei xmlgrößen unter 10mb braucht simplexml weniger als ne halbe sekunde um das ding in den speicher zu laden. abfragen gehen dann rasant. kostet halt speicher in der größenordnung 4*dateigröße.
|
|
|
|
|
|
|
das sollte nicht überheblich oder wie auch immer klingen, es geht doch nur um die beste Lösung. Im Vergleich zu euch bin ich ohnehin die programmier-Niete, desshalb frag ich doch so blöd
|
|
|
|
|
|
|
dann xml mit xpath. ist einfach, kann ohne große vorkenntnisse angepasst werden und xpath für deine bedürfnisse ist copypasta. einfach machen.
|
|
|
|
|
|
|
| Zitat von rABBI
wenn es denn tatsächlich um eine hochfrequentierte seite geht, dann fängst du am besten damit an, dir zu überlegen, was wann wie und wo gecached werden kann. und dann bindest du so wenig dynamik wie möglich ein und lagerst auf datenbanken aus. ja, notfalls lagert man dann auch 150 zeilen lokalisierung auf eine mysqldb. oder schreibt gleich fertig im cache liegende templates. | | Wobei man da natürlich bedenken muss, dass es keinen Sinn macht*, dutzend Mannstunden in ein caching von Backendabfragen zu stecken, wenn man ohnehin vorhat Templates und Caching zu benutzen.
Selbst wenn sich der Content alle 10 Sekunden ändern würde, würde ich so über den Daumen gepeilt sagen, dass es dann keinen Sinn mehr macht.
/: Wobei...bei welcher Art von Anwendung würde es überhaupt Sinn machen, garkein Frontend-Caching zu benutzen? Doch allerhöchstens wenn sich der Content pro User total unterscheidet, oder?
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Achse-des-boesen am 15.04.2007 0:01]
|
|
|
|
|
|
bin grade mal am ausprobieren und wunder mich warum er bei der simplexml_load_file function meckert...da hat mein neuer Anbieter doch nur PHP Version 4.4.6...da wechselt man und ist total glücklich über alles und dann sowas...das muss ich erstmal ändern
|
|
|
|
|
|
|
| Zitat von Achse-des-boesen
/: Wobei...bei welcher Art von Anwendung würde es überhaupt Sinn machen, garkein Frontend-Caching zu benutzen? Doch allerhöchstens wenn sich der Content pro User total unterscheidet, oder?
| |
fällt dir zu derartig unterschiedlichen contents irgendwas ein, was nicht cachebar ist? mir nicht.
nicht lohnen würde es sich für irgendwelche quick'n'dirty sachen.
|
|
|
|
|
|
|
Hm...das OTR-Protkoll is wirklich eine nette Sache. Ich fürchte nur ich werde spätestens daran scheitern mir einen C-zu-Python Wrapper für die libotr zu schreiben...das bischen was ich an C noch kann wird vermutlich nicht ausreichen.
Aber versuchen kann ich es ja
|
|
|
|
|
|
|
Ich bins leid zu dokumentieren, das macht keinen Spaß, wenn man 6 Funktionen hat, die sich nur geringfügig unterscheiden, aber man dennoch nicht die selben Texte benutzen kann.
(Ist alles MSDN-like Dokumentation)
|
|
|
|
|
|
|
So, wieder zuhause, Datingparty war eher schwach besucht, läuft aber noch. Und mein Eindruck wurde mal wieder bestätigt das Datingpartys... naja... extrem scheisse sind, erst recht wenn sie dann noch mit Astrologie kombiniert werden.
|
|
|
|
|
|
Thema: Gehirnsalat ( wir unter uns ) |