Problème dans l'utilisation d'une classe PHP

Répondre
johnsan
le 06/10/2009 à 06:43
johnsan
Bonjour tout le monde,

Je me suis très récemment mis à la programmation PHP (il y a 2 semaines) dans le cadre d'un stage dans lequel je dois réaliser une base de contact disponible sur l'intranet de la société.

Cette base repose sur du LAMP, et les contacts sont issus de 2 sources : les petites vCard d'Outlook au format vcf et un scanner de cartes de visite qui génère un gros fichier .vcf avec toutes les cartes scannées dedans au format vCard 2.1.

Histoire de gagner du temps, j'ai cherché un parser de fichiers vcf tout fait sur la toile. Il y en a 2 à priori dispo sur le net, dont un qui utilise la class PEAR que je n'arrive pas à installer sur EasyPHP. Donc je me suis rabattu sur une autre classe, disponibles sur sourceforge

Le parser vcard.php fonctionne bien, et j'aimerai l'utiliser pour créer de nouvelles entrées dans ma base MySQL. Mon problème aujourd'hui, c'est que je ne comprends absolument pas comment utiliser les classes et les objets créés par le parser.

Je m'explique, afin de réaliser mes requêtes INSERT dans ma TABLE contact, j'ai besoin d'un certain nombre d'informations (nom, prénom, titre, société, etc...), toutes présentes dans le fichier vcf. Mais je n'arrive pas à trouver la syntaxe adéquate pour déclarer mes variables et réaliser mes requêtes.

Voilà, après 4 jours dessus, je perds un peu espoir de comprendre rapidement et facilement son fonctionnement. Les tutoriels sur les classes et la POO n'ont pas vraiment aidé :(
Si une âme charitable et pédagogue voulait bien me prendre un peu par la main pour m'expliquer comment utiliser cette classe, ça serait chouette.
Si cette même personne se sent de réaliser une B.A. et a envie de me dire comment récupérer pour chaque contact issu d'un seul et même fichier vcf, les infos qui lui sont propres, je lui serais éternellement reconnaissant et le citerais dans mes prières.

Si vous avez besoin de détails, n'hésitez pas à me poser vos questions.

Merci.
LA GLOBULE
le 06/10/2009 à 08:57
LA GLOBULE
En utilisant les fonctions var_dump ou print_r sur ton objet, tu devrais voir sa structure.

Cela sera plus facile pour trouver les divers propriétés qui t'interessent.
LupusMic
le 06/10/2009 à 11:09
LupusMic
Tout d'abord, comme souvent avec les scripts qu'on trouve sur la toile, celui que tu pointes est bourré de trous de sécurité. Sans compter que c'est un code PHP4. Il faut que tu trouves autre chose.

Mais qu'est-ce qui t'empêche d'utiliser PECL ?
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
johnsan
le 06/10/2009 à 23:39
johnsan
Merci pour les infos, je vais chercher à voir la structure et aussi du côté de PECL(késako ?... à moi de trouver).
LupusMic
le 07/10/2009 à 00:19
LupusMic
C'est le premier résultat dans Google. Mais évidemment, je voulais parler de PEAR.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
johnsan
le 07/10/2009 à 00:22
johnsan
Ah ben j'arrive pas à installer PEAR avec EasyPHP 5.3.0.

Maintenant quand je vois le mal que j'ai à exploiter un script tout fait tel que vcard.php, me lancer dans l'utilisation de l'autre qui utilise PEAR n'est peut être pas une trop bonne idée.
laura
le 07/10/2009 à 17:02
laura
Si tu n'es pas familiarisé avec la programmation en général, commences plus simple.
Tu peux le faire en procédural (je fais ça, puis ça, puis ça....).
C'est un peu moins tendance que la POO mais ça fonctionne aussi bien smiley
Et c'est surtout beaucoup plus simple pour un débutant. Tu risques moins de te planter.
Des étoiles dans les yeux, le ciel pour m'évader
LupusMic
le 07/10/2009 à 18:25
LupusMic
(laura) Il me semble aussi plus que débutant. Cependant, son problème ne se situe pas au niveau de la POO. Son problème est qu'il n'arrive pas à installer PEAR. Ensuite, il a besoin d'utiliser un outil. Si effectivement il semble être plus facile de faire du procédural, se priver des outils parce qu'ils sont encapsulés dans des classes n'est pas souhaitable.

Ceci dit, le problème auquel jojopareto s'attaque est peut-être trop difficile pour son niveau.

Mais d'ailleurs, jojopareto, quel est ton niveau de programmation en générl ? As-tu une expérience dans d'autres langages ?
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
laura
le 07/10/2009 à 21:36
laura
Je ne suis pas pour l'utilisation des outils non maitrisés. Je trouve qu'il est préférable (c'est un choix personnel smiley ) d'utiliser des outils dont nous connaissons le fonctionnement et dont nous maitrisons le comportement.
Après je suis d'accord avec toi sur la puissance des outils et leurs stabilités smiley

Mais il ne semble pas familiarisé avec donc j'me suis dit que lire/écrire dans un fichier est relativement simple en procédural et qu'il pouvait passer par là. Et pourquoi pas créer une petite classe simple de lecture/écriture.

(jojopareto) ou bloques tu dans l'installation de PEAR?
Des étoiles dans les yeux, le ciel pour m'évader
johnsan
le 08/10/2009 à 01:20
johnsan
Mais d'où vient donc jojopareto ?

Anyway, mon expérience en programmation remonte à il y a 6 ans (programmation C à cette époque) et là, plutôt que de réinventer la roue, je voulais utiliser les outils tout fait.

Problème c'est que si lire du code PHP est "relativement" facile, lire du code orienté objet quand on en a jamais vu avant n'est pas simple du tout.

Quand à PEAR, j'ai suivi un tuto sur le web pour l'installer en local avec EasyPHP mais ça ne semble pas fonctionner. Donc je me suis rabattu sur une autre classe qui n'utilise pas PEAR.

Je suis bien conscient qu'utiliser et modifier un outil existant quand on n'a pas l'expérience n'est pas une bonne idée et que mon code actuel pourrait venir d'une porcherie. Mais j'ai pas vraiment le temps de me former à une technologie correctement. Oui, travail bâclé, vous pouvez le dire ;)
Répondre
LoadingChargement en cours