Open source PHP Klasse für Nested Sets in MySQL

Was ist eine Baumstruktur?

Gerichteter Baum

Eine Baumstuktur wird in der Informatik oftmals benötigt um Daten zu strukturieren. Zum Beispiel ist das gesamte Dateisystem als Baum darstellbar. Oder Hierachien in einem Unternehmen. MySQL ist jedoch dafür bekannt Daten in einer tabellarischen Form auszulesen und zu speichern. Nested Stets kommen eigentlich aus der Mengenlehre aber lassen sich als Baum hin- und herwandeln. Lediglich die visuelle Darstellung ist anders.

Nested Sets in einer Liste?

Damals habe ich mal einen ganz kurzen Blogeintrag geschrieben, mit deren Hilfe man Bäume in MySQL effektiv speichern kann. Ich habe dazu jetzt mal die Zeit gefunden um eine simple PHP-Klasse zu schreiben, welche die einfachsten bzw. gebräuchlichsten Methoden unterstüzt:

  • Baum laden
  • Element einfügen
  • Element löschen (inkl. Kind-Elemente)
  • istKnoten? (bzw. hat Kinder?)
  • als HTML anzeigen

DEMO      DOWNLOAD als ZIP

Klasse


DEMO      DOWNLOAD als ZIP

Demonstration


DEMO      DOWNLOAD als ZIP

Inkscape – Ein open source Vektor Programm

Inkscape Logo, schwarzer Berg mit weissem Gipfel

Inkscape ist ein kostenloses und open source Vektor-Zeichen-Programm. Doch was ist ein Vektor-Zeichen-Programm? Das heißt einfach, das man die Bildinhalte als Vektoren bzw. geometrische Objekte wie z.B. Linien abspeichert, nicht nur ein Raster mit verschiedenen Farben und Helligkeiten.

Vektor oder Pixel?

Üblicherweise werden Rastergrafiken mit festen Pixelgrößen verwendet. Diese kann man sehr einfach z.B. in Paint erstellen. Der Nachteil bei Rastergrafiken ist jedoch, dass diese nicht beliebig vergrößert werden könnenn. Das heißt, es wird eine bestimmte Qualität des Bildes vorgegeben.

Anders ist das bei Vektorgrafiken. Man kann beliebig weit hineinzoomen, da man kein Größenraster vorgegeben hat.

Darum werden sehr oft Logos und andere Illustrationen mit Vektorprogrammen erstellt. Fotographien arbeiten mit einem Rasterbasierten Sensor, deshalb können nur pixelbasierte Fotographien erstellt werden.

Es ist jedoch möglich, Rastergrafiken in Vektorgrafiken umzuwandeln.