Faire des arbres avec PHP/CSS + Js

Statut
N'est pas ouverte pour d'autres réponses.

ozilrit

Elite
Welcome back \o/.


Jt'ai laissé un post. =]
 
1er
OP
neku

neku

Codeur roumain
/**
* Mmmmh, les ptis commentaires d'ozilrit. For what it's worth.
*
*
* FALSE, TRUE : constantes. Pq pas false, true ?
*
* class Element, function AddChild. Pq une maj aux func ?
*
* $seed =, srand(), make_seed() : useless ?
*
* var : déprécié, enfin j'imagine que c'pour PHP4.
*
* AddChild et SetRoot renvoit l'element, removeChild ne renvoit rien. J'aurais vu rien ou boolean.
*
* sizeof est un lien symbolique vers count.
*
* Un coup tu utilises un getter ($tree->GetRoot()), l'autre tu utilises un getter magique ($data->value).
*
* foreach ($foobar as $key => $value) : mais $key est assigné pour rien.
*
* function Render() { echo } : ha, et si tu voulais stocker cela (sans ob) ?
*
* echo "" : \o/
*
* if ($foo == $bar) : === type check.
*/

Alors :

FALSE, TRUE : une habitude du C++

Pourquoi une majuscule au fonctions, car je défini mes variables comme suit : aaaBbbb
et mes fonctions AaaBbbb on remarque directement la différence entre une fonction et une variable.
Soit l'inverse de la notation hongroise.

Le random est utilisé pour donner un id unique (enfin on espère) pour chaque élément, id repris pour l'id des DIV pour le javascript.

var déprécié, c'est possible, je suis pas mordu de PHP

AddChild, SetRoot retourne l'élément et RemoveChild ne retourne rien, pourquoi retourner quelque chose, si on à passé l'élément à supprimer à la fonction, c'est qu'il à bien été ajouté.

sizeof ou count, habitude de C/C++

$this->GetRoot, oui $root dans la class Tree est privé, les variables des autres classes ne le sont pas

foreach ($foobar as $key => $value), c'est vrai je n'utilise pas toujours $key.

function Render() { echo } : ha, et si tu voulais stocker cela (sans ob) ?
j'ai pas tout compris là ...

echo "" : \o/
idem

if ($foo == $bar) : === type check.
Habitude de C/C++, en C/C++
 

ozilrit

Elite
on remarque directement la différence entre une fonction et une variable.
Moins entre une classe et une fonction. :-D

Le random est utilisé pour donner un id unique (enfin on espère) pour chaque élément, id repris pour l'id des DIV pour le javascript.
Celui-çi :
$this->id = rand();​
ok, mais les autres ?

AddChild, SetRoot retourne l'élément et RemoveChild ne retourne rien, pourquoi retourner quelque chose, si on à passé l'élément à supprimer à la fonction, c'est qu'il à bien été ajouté.
Je m'attends à ce qu'addChild(Child) ajoute une branche, pas plus. Ou, si le processus est risqué, qu'il me retourne son état.

$this->GetRoot, oui $root dans la class Tree est privé, les variables des autres classes ne le sont pas
Pour quelle raison ?

function Render() { echo } : ha, et si tu voulais stocker cela (sans ob) ?
Comment ferais-tu pour stocker ton arbre dans un fichier HTML ? Ta fonction ne renvoit rien, elle imprime.
 
1er
OP
neku

neku

Codeur roumain
Celui-çi : $this->id = rand();
ok, mais les autres ?
srand()
Initialise le générateur de nombres aléatoires avec seed , ou avec une valeur aléatoire si aucun paramètre seed n'est fourni.

Comment ferais-tu pour stocker ton arbre dans un fichier HTML ? Ta fonction ne renvoit rien, elle imprime.
L'utilisation que j'en fais ne me demande pas de pouvoir le faire.
Si j'ai distribué ce code, c'est pas pour dire : "hé t'as vu ce que j'ai fait ! im so l33b ...", mais pour le partager, j'interdis personne d'y apporter des modifications.

Et pour finir ceci à été fait en 1h de temps, je n'ai pas cherché les petites optimisations à droite à gauche.
 

ozilrit

Elite
Oui... et si je t'ai répondu, c'pour les quatre ou cinq personnes que les autres threads ont intéressés.
 

tigurius

P'tit Marin
En gros il s'agit du Pattern Composite ? ou bien y'a un ajout majeur dans ton code ?
 

WaKaaN

JcQL
Pourrions-nous avoir le script complet de ton exemple ? :oops:

Ca m'interresse vachement, c'est pour le boulot :)
 

*Serval

Elite
J'ai une 404 sur la page d'exemple :-(
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut