Diskussion zu Topics 0.9rc

Hier landen ältere Beiträge aus dem Forum "Module & Templates" sowie den dazugehörigen Unterforen. Ruhig auch mal reinschauen.
Benutzeravatar
shadowcat
Administrator
Beiträge: 3979
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: Funktionstest: Topics 0.9rc

Beitrag von shadowcat » Do 4. Dez 2014, 12:48

Brauchst Du ein Beispiel?

Vielleicht nochmal ausführlicher (gestern war so wenig Zeit...):

Bei Trennzeichen gibt es verschiedene Philosophien. Ein beinahe schon "klassischer" Weg ist CSV, einfach deshalb, weil viele Sprachen das von sich aus unterstützen. Zudem ist das wirklich spezifiziert, auch wie man das Trennzeichen maskiert, wenn es innerhalb eines Feldes vorkommt.

Ansonsten nimmt man irgendein Zeichen, von dem man sicher ist, daß es innerhalb des Feldes nicht vorkommt. Gern genommen werden z.B. # ^ ° ~ oder |.

Kernfrage ist, was man damit anfangen will. Wenn man z.B. die Felder einfach in ein Array umwandeln möchte, geht das mit einfachen Trennzeichen natürlich sehr simpel:

Code: Alles auswählen

$meine_felder = explode('~',$string);
Klassische Probleme:
* Trennzeichen kommt doch im Feld vor
* Unerwünschte Whitespaces zwischen Trenner und Feldinhalt (Nachbearbeitung nötig)
* Aufeinander folgende Trenner führen zu leeren Array-Feldern

Komplexere Strukturen - etwa multidimensionale Arrays oder wenn die Felder auch Inhalte haben - verpackt man sehr einfach mit serialize(). Beim Reinschreiben in die DB mit serialize() einpacken und nach dem Auslesen mit unserialize() wieder auspacken, schon hat man das Ausgangsarray wieder und kann es direkt weiter verarbeiten. Wird so z.B. von der FolderGallery 1.34 gemacht.

Je nachdem, was man mit den Feldern vor hat, kann es auch sinnvoll sein, mit einer verknüpften Datenbanktabelle zu arbeiten.
My software never has bugs, it just develops random features.
BC1: PHP 5.5.11 (cli), mySQL 5.6.16 with 'strict' enabled, Apache 2.4.9
BC2: PHP 7.2.7, mariaDB 10.2.13, no Apache

Benutzeravatar
shadowcat
Administrator
Beiträge: 3979
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: Funktionstest: Topics 0.9rc

Beitrag von shadowcat » Do 4. Dez 2014, 16:29

Ach, da ist noch einer. Eine Topics-Seite läßt sich in BC nicht löschen.

<b>Notice</b>: Undefined variable: database in <b><path>\modules\topics\delete.php</b> on line <b>35</b><br />

Ein

global $database;

sollte genügen. Wir wissen nicht warum, aber in manchen Umgebungen ist das notwendig.

Soll ich Deine Dateien direkt befummeln und die Änderungen hier einstellen, oder willst Du lieber selber dran werkeln?
My software never has bugs, it just develops random features.
BC1: PHP 5.5.11 (cli), mySQL 5.6.16 with 'strict' enabled, Apache 2.4.9
BC2: PHP 7.2.7, mariaDB 10.2.13, no Apache

chio
Beiträge: 6
Registriert: Mi 3. Dez 2014, 13:16

Re: Diskussion zu Topics 0.9rc

Beitrag von chio » Fr 5. Dez 2014, 09:19

Serialize..
Ich frage mich, ob ich damals einfach blöd war, oder obs einen Grund gab, das nicht so zu machen...

Benutzeravatar
Morpheus
Beiträge: 898
Registriert: Do 8. Aug 2013, 10:49
Kontaktdaten:

Re: Diskussion zu Topics 0.9rc

Beitrag von Morpheus » Fr 5. Dez 2014, 09:38

einfach blöd war
Nein, höchstens Optimierungsbedürftig ;)
Keiner ist unnütz, er kann immer noch als schlechtes Beispiel dienen!

chio
Beiträge: 6
Registriert: Mi 3. Dez 2014, 13:16

Re: Diskussion zu Topics 0.9rc

Beitrag von chio » Fr 5. Dez 2014, 10:07

Ich habe ein paar Sachen ausgebessert, das ist jetzt die aktuelle Version
http://websitebaker.at/download/topics-0.9.0b.zip
Soll ich Deine Dateien direkt befummeln und die Änderungen hier einstellen, oder willst Du lieber selber dran werkeln?
Für dich am einfachsten ist sicher, du fummelst direkt. Ich mach dann einen Dateienvergleich.
installer hab ich nicht wirklich angerüht, bei unistaller nur, dass die RSS Tabellen gelöscht werden.

Benutzeravatar
shadowcat
Administrator
Beiträge: 3979
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: Diskussion zu Topics 0.9rc

Beitrag von shadowcat » Fr 5. Dez 2014, 10:28

chio hat geschrieben:Ich frage mich, ob ich damals einfach blöd war, oder obs einen Grund gab, das nicht so zu machen...
Wäre doch langweilig, wenn es nichts mehr zu entdecken gäbe. :mrgreen: Wie gesagt, direktes Verketten hat durchaus eine Existenzberechtigung, kommt halt drauf an, was man erreichen will.
My software never has bugs, it just develops random features.
BC1: PHP 5.5.11 (cli), mySQL 5.6.16 with 'strict' enabled, Apache 2.4.9
BC2: PHP 7.2.7, mariaDB 10.2.13, no Apache

Antworten