|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
|
Membre à l'essai
![]() Inscription : mars 2006 Messages : 54 ![]() |
Bonjour,
je suis amené à créer un projet où je dois analyser beaucoup de différents fichiers de configurations sous linux. pour se faire, j'aimerai réaliser un "parser" plus ou moins universel qui va me retourner un ensemble de valeurs sous une forme comme un arbre binaire. pour le petit exemple, imaginons la syntaxe suivante (de /etc/dhcp3/dhcpd.conf) Code :
Code :
Si la logique en elle même ne me pose pas de problème, c'est au niveau du PHP que ça coince! Comment peut-on définir une sorte de pointeur? Le passage par référence suffit-il? j'aimerai avoir une classe avec une structure dans le genre: Code :
merci de m'aider |
||||||
|
|
00
|
|
|
#2 | ||
|
Membre à l'essai
![]() Inscription : mars 2006 Messages : 54 ![]() |
et bien je me suis répondu moi même finalement. comme quoi parfois des tests valent bien mieux qu'un long sujet de forum.
voici ma classe, n'hésitez pas si vous avez quelque chose à redire à ça: Code :
|
||
|
|
00
|
|
|
#3 |
|
Membre Expert
![]() Inscription : janvier 2007 Messages : 1 452 ![]() |
Salut,
Comme tu demandes quand même un retour en voici un. En fait, à a la lecture de ton code je vois que tu utilises PHP5 (cf le mof clef __construct). Partant de ce principe je peux te dire que, un objet envoyé en paramètre à une méthode/fonction, le sera forcément par référence (l'équivalent du pointeur dans d'autres langages). A contrario pour envoyer une copie, tu devras au préalable le cloner. Et que l'utilisation du é commerciale *&* est donc inutile, dans la méthode addChild. Si tu veux vérifier, tu dump l'objet avant de l'envoyer dans la méthode et tu le re dumpes à l'intérieur de la méthode. Un uid est créé pour chaque objet, il sera le même dans le cas d'un passage par référence, différent dans la cas d'un passage par copie. Ici 660. bye |
|
|
00
|
|
|
#4 |
|
Membre à l'essai
![]() Inscription : mars 2006 Messages : 54 ![]() |
merci pour ta réponse... je ne savais pas qu'en php5 tout objet était par référence et que c'était assez vilain en fait les référence quand on pense à ça plus à des pointeurs à la "C"...
je me suis pris pas mal la tête, mais bon, ça va marcher :p |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com