[Usermeinung] phpTreeGraph

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • PHP-Desaster
    antwortet
    Die IDee errinert mich übrigends stark an XML & Co
    Darum ja. Perfekt wäre ein direktes Rendern von XML-Dokumenten ^^ Oder der Import eines DOMDocument-Objektes.

    Einen Kommentar schreiben:


  • Click
    antwortet
    Die Idee von PHP Desaster finde ich auch nett. Die IDee errinert mich übrigends stark an XML & Co

    @ mazeh:

    So in etwa meinte ich das, man müsste halt in der Routine addArray (so ähnlich wie ich die geschrieben hab nur noch einen if Zweig einführen, der auf das "style" Array prüft. SO könnte man sich dann immer ganz einfach die Struktur des Arrays übersichtlich als Bild generieren lassen. IMHO sehr praktisch

    Einen Kommentar schreiben:


  • mazeh22
    antwortet
    Assoziative Arrays zur Konfiguration des Baums zu benutzen ist keine schlechte Idee. Ich werd mir das mal überlegen.
    Das ganze könnte dann so aussehen:

    PHP-Code:
    $tree['config']['LevelSeparation'] = 40;
    $tree['config']['SiblingSeparation'] = 40;
    $tree['config']['SubtreeSeparation'] = 80;
    $tree['config']['defaultWidth'] = 40;
    $tree['config']['defaultHeight'] = 20;
    $tree['nodes']['species']['style']['border'] = 2;
    $tree['nodes']['species']['style']['bordercolor'] = '#0080FF';
    $tree['nodes']['species']['style']['font'] = 'Arial.ttf';
    $tree['nodes']['species']['style']['fontsize'] = '12';
    $tree['nodes']['species']['style']['textposition'] = CENTER;
    $tree['nodes']['species']['plants']['style']['bgimage'] = 'images/plant.png';
    $tree['nodes']['species']['plants']['style']['border'] = 0;
    $tree['nodes']['species']['animals']['style']['border'] = 1
    PHP-Code:
    Array
    (
        [
    config] => Array
            (
                [
    LevelSeparation] => 40
                
    [SiblingSeparation] => 40
                
    [SubtreeSeparation] => 80
                
    [defaultWidth] => 40
                
    [defaultHeight] => 20
            
    )

        [
    nodes] => Array
            (
                [
    species] => Array
                    (
                        [
    style] => Array
                            (
                                [
    border] => 2
                                
    [bordercolor] => #0080FF
                                
    [font] => Arial.ttf
                                
    [fontsize] => 12
                                
    [textposition] => CENTER
                            
    )

                        [
    plants] => Array
                            (
                                [
    style] => Array
                                    (
                                        [
    bgimage] => images/plant.png
                                        
    [border] => 0
                                    
    )

                            )

                        [
    animals] => Array
                            (
                                [
    style] => Array
                                    (
                                        [
    border] => 1
                                    
    )

                            )

                    )

            )


    oder im einfachsten Fall ohne jegliche Konfiguration des Baums eben so
    PHP-Code:
    $array = array("click" => array("Mein Name""Mein Deo""Meine Maus"), 

    Einen Kommentar schreiben:


  • PHP-Desaster
    antwortet
    Wow, sehr cool! Zieh mir gleich mal die Source und teste ein wenig rum, dann kann ich dir ein wenig Feedback geben. Die Demos sehen aber super aus


    Edit:
    Ganz cool fände ich, wenn man direkt mit den Node-Objekten den Baum aufbauen könnte:
    PHP-Code:
    $root = new Node'Wurzel' );
    $root->addChild$un1 = new Node'Unterknoten 1' ) );
    $root->addChild$un2 = new Node'Unterknoten 2' ) );
    $root->addChild$un3 = new Node'Unterknoten 3' ) );
    $un1->addChild$un1_1 = new Node'Unterknoten 1.1' ) );
    // ...
    foreach( $root->childNodes as $node ) {
       
    $node->image 'anyimage.jpg';

    Ziemlich cool wäre auch, wenn man direkt am Knoten die Rahmenfarbe etc. setzen kann.
    Zuletzt geändert von PHP-Desaster; 28.11.2007, 20:07.

    Einen Kommentar schreiben:


  • Click
    antwortet
    Oh nett, gut Arbeit!

    Was ich hinsichtlich der ersten Demo noch dachte: Es wär echt genial wenn es eine Methode gäbe, der man praktisch ein assoziatives Array übergibt, die dann alles gleich passend einträgt Wie gesagt nur ein Vorschlag, (der ja nich allzuschwer umsetzbar ist) wennde willst kann ich dir auchn patch senden. Hab mir nur gedacht, wenn ich die Klasse brauchen würde wär das ein echt einfacher Weg zur Benutzung des der Klasse

    edit:

    Sowas meint' ich:
    PHP-Code:
    $cur_key 0;
    $cur_tree 0;
    $last_tree 0;

    public function 
    addArray($array) {
        foreach(
    $array as $key => $value) {
            if(
    is_array($key)) {
                
    $this->add(++$cur_key$cur_tree$key);
                
    $last_tree $cur_tree;
                
    $cur_tree $cur_key;
                
    $this->addArray($key);
                
    $cur_tree $last_tree;
            } else {
                
    $this->add(++$cur_key$cur_tree$value);
            }
        }

    dann könnt zB son array nen einfachen tree ergeben:

    PHP-Code:
    $array = array("click" => array("Mein Name""Mein Deo""Meine Maus"),
                                 
    "php" => array("Sprache""Klasse"),
                                 
    "test",
                                 
    "ne");

    $objTree.>addArray($array); 
    Wie gesagt, nur son Gedanke (Der Sourcecode is auch noch ned getestet )
    Zuletzt geändert von Click; 28.11.2007, 17:44.

    Einen Kommentar schreiben:


  • lennart
    antwortet
    Original geschrieben von mazeh22
    Ja das kenne ich auch.

    Graphviz ist eine super Visualisierungssoftware, aber das PEAR Package stellt nur eine Schnittstelle bereit, man benötigt also noch die eigentliche Graphviz Software auf dem Server, was nicht immer möglich ist.
    Ich meine irgendwo gelesen zu haben, das die neue Version das ohne die Graphviz Binaries kann.

    Ist jetzt aber von mir nicht geprüft

    Einen Kommentar schreiben:


  • mazeh22
    antwortet
    Ja das kenne ich auch.

    Graphviz ist eine super Visualisierungssoftware, aber das PEAR Package stellt nur eine Schnittstelle bereit, man benötigt also noch die eigentliche Graphviz Software auf dem Server, was nicht immer möglich ist.

    Einen Kommentar schreiben:


  • lennart
    antwortet
    http://graphviz.org/Gallery.php

    http://pear.php.net/package/Image_Graphviz

    Einen Kommentar schreiben:


  • admin
    antwortet
    nicht schlecht!
    hätte ich vor ein paar Jahren für eine headhunter-Software gut brauchen können

    Einen Kommentar schreiben:


  • ThaDafinser
    antwortet
    echt gute arbeit

    hätte das vor einiger zeit gut brauchen können, für eine art "techtree"
    hab das dann ziemlich kompliziert gelöst.

    werde mir das mal genauer anschauen!

    danke =)

    Einen Kommentar schreiben:


  • TobiaZ
    antwortet
    Sieht für den Anfang nicht schlecht aus. Habe mich allerdings noch nie damit beschäftigt und kenne nichts vergleichbares.

    Einen Kommentar schreiben:


  • mazeh22
    hat ein Thema erstellt [Usermeinung] phpTreeGraph.

    [Usermeinung] phpTreeGraph

    Hallo,

    mein erster Beitrag hier und ich wollte gleich mal was sinnvolles posten.

    Habe vor einiger Zeit nach einem php Modul das Baumdiagramme zeichnen kann gesucht.

    Da ich bis jetzt nichts brauchbares gefunden habe, hab ich mal selbst was entwickelt.

    Also wer eine Klasse zum zeichnen von hierarchischen Strukturen sucht kann diese benutzen.
    http://code.google.com/p/phptreegraph/

    Dokumentation und Demo

    http://hammam.ha.ohost.de/Demo1.php
    http://hammam.ha.ohost.de/Demo2.php

    http://hammam.ha.ohost.de/doc/html/
Lädt...
X