symboles que je ne comprend pas

Petit nouveau ! | 4 Messages

29 avr. 2011, 23:51

sur les pages php joomla des symbole se répètent
$db->f("")
$db->sf("")
$db->sp("")et la liste et longue
j'ai compris que ses lignes permettait de communiquer avec la base de donnée mais de quelle façon comment peut en sélectionner la table la ligne ou encore connaitre le type d'opération effectué sur la base de donnée
quelqu’un peut m expliquer svp.

ViPHP
xTG
ViPHP | 7331 Messages

30 avr. 2011, 00:12

Regardes donc la classe dont $db est l'instance.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

30 avr. 2011, 09:34

Pour compléter un peu la réponse de xTG, la flèche ( -> ) permet de faire appel à un attribut ou à une méthode d'une classe (plus exactement à l'objet qui a été instancié avec un "new MaClasse()" depuis cette classe)

$db->f("") signifie donc que l'on appelle la méthode f() de l'instance $db, en lui passant comme paramètre une chaine vide. Quant à savoir ce que fait cette méthode, il faut effectivement te pencher sur la classe instanciée pour retrouver les méthodes en question et voir ce qu'elle font... et si le code est bien commenté, ça ne devrait pas être trop compliqué :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Petit nouveau ! | 4 Messages

30 avr. 2011, 14:33

merci de m'avoir rependu
alors comment savoir ou sont déclaré ces classes.
ya t'il des fichiers spécifiques au composant virtuemart par exemple de joomla ou en peut trouver la déclarations de ses classes je crois que si j'arrive a lire le code je pourrai les manipuler.

ViPHP
xTG
ViPHP | 7331 Messages

30 avr. 2011, 22:02

Il faut que tu trouves tout d'abord l'instanciation de ton objet $db pour savoir quelle classe il instancie.
$db = new nom_de_la_class();
Quand tu auras trouvé cette ligne tu auras le nom et il suffira de faire une recherche sur :
class nom_de_la_class
dans les fichiers pour la toruver. :)

Tu peux aussi afficher le nom de la class de l'objet avec la fonction :
echo get_class($db);