|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||||
|
Invité de passage
![]() Inscription : décembre 2007 Messages : 41 ![]() |
Bonjour
J'ai un petit soucis avec mes définitions de variables dans mon code php. Code conf_global.php :
Code classDB.php :
J'obtiens l'erreur suivante : Parse error: syntax error, unexpected T_VARIABLE in /var/www/virtual/death-vipers.net/labo/logs/classDb.php on line 8 Par contre si dans le tableau $sql je mets directement les valeurs stockées dans le conf_global.php, ça fonctionne. Apparemment je ne peux pas mettre de variables dans un array et je ne vois pas pourquoi Auriez-vous une idée de l'erreur ? Cordialement, Beniti |
||||
|
|
00
|
|
|
#2 | ||||||||
|
Membre régulier
![]() Thomas DUTRIONDéveloppeur Web Inscription : février 2009 Messages : 58 ![]() |
Bonjour,
A mon avis il s'agit simplement d'un problème de visibilité de variable. Le tableau info est certes déclaré dans le fichier de la classe, mais pas à l'intérieur de celle-ci, et ne peut donc être résolu. Pour moi, il faut remplacer Code :
Code :
Code :
Code :
__________________
Recherche poste de développeur web PHP/Zend Framework sur Lille (hors SSII) |
||||||||
|
10
|
|
|
#3 |
|
Invité de passage
![]() Inscription : décembre 2007 Messages : 41 ![]() |
Ah, merci pour cette solution, elle fonctionne très bien
Par contre pour la déclaration de tableaux (et variables) dans la classe, je ne comprends pas bien pourquoi ça ne fonctionne pas. Encore merci en tout cas
|
|
|
00
|
|
|
#4 | ||
![]() ![]() Développeur Web Inscription : décembre 2006 Messages : 2 335 ![]() |
Citation:
Citation:
__________________
Développeur | Zend Certified Engineer Étapes Pour mieux se servir du forum: 1. Commencez par lire les cours et tutoriels ; 2. Faites une recherche; 3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles; Nix>_Rien n'est plus pratique que la théorie |
||
|
|
00
|
|
|
#5 |
|
Membre régulier
![]() Thomas DUTRIONDéveloppeur Web Inscription : février 2009 Messages : 58 ![]() |
Si tu veux en savoir plus sur la portée des variables, la doc PHP en parle : portée des variables en PHP (scope en anglais).
L'article ne parle pas forcément des classes, mais dans le cas d'un objet, les valeurs auxquelles tu auras accès sont limitées : les attributs de la classe, les constantes de classe et les globales.
__________________
Recherche poste de développeur web PHP/Zend Framework sur Lille (hors SSII) |
|
00
|
|
|
#6 | ||
|
Invité de passage
![]() Inscription : décembre 2007 Messages : 41 ![]() |
Merci pour les conseils
J'avais bien testé plusieurs méthodes, dont la référence "global" mais ça ne marchait pas plus. D'ailleurs si je fais un truc tout con de ce style : Code :
Je dois pas très bien comprendre le principe d'utilisation. En tout cas ça doit être génial d'utiliser la même variable pour plusieurs fonctions |
||
|
|
00
|
|
|
#7 | ||
|
Membre régulier
![]() Thomas DUTRIONDéveloppeur Web Inscription : février 2009 Messages : 58 ![]() |
Tu devrais revoir un peu la programmation orienté objet, en php et même niveau concept... Regarde un tuto sur les bases de la programmation orientée objet en PHP, puis une fois que tu auras les bases, regarde ceux que tu peux trouver ici.
Code :
J'ai mis ton attribut url en public, mais tu peux changer avec protected ou private...
__________________
Recherche poste de développeur web PHP/Zend Framework sur Lille (hors SSII) |
||
|
00
|
|
|
#8 | ||
|
Invité de passage
![]() Inscription : décembre 2007 Messages : 41 ![]() |
Citation:
L'inconvénient de l'auto formation dans mon cas, est d'avancer un peu à l'instinct en testant des méthodes en fonction des besoins (pros/persos) qui tombent. Résultat, on se prend les pieds dans le tapis régulièrement. Merci Citation:
Maintenant à la déclaration de la variable en dessous de la classe, pourquoi :
J'avoue être enduit d'interrogation |
||
|
|
00
|
|
|
#9 | |||
|
Membre régulier
![]() Thomas DUTRIONDéveloppeur Web Inscription : février 2009 Messages : 58 ![]() |
Citation:
Citation:
C'est à toi de déterminer l'architecture de ton projet ensuite pour choisir la meilleure solution. Citation:
D'un point de vue objet, les attributs de classe doivent toujours disposer d'une indication de visibilité (private, protected, public), et les méthodes (function) aussi. Les codes que tu prends sur des sites et qui ne fonctionnent pas proviennent probablement d'un problème de version. PHP introduit des notions d'objets en version 4, mais rien de très convaincant, après quoi la version 5 apporte un grand nombre de modifications, d'où la création de problèmes.
__________________
Recherche poste de développeur web PHP/Zend Framework sur Lille (hors SSII) |
|||
|
00
|
|
|
#10 |
![]() ![]() Inscription : septembre 2010 Messages : 7 131 ![]() |
quel est l’intérêt de faire une classe pour mysql sachant que y'a PDO ?
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#11 |
|
Membre régulier
![]() Thomas DUTRIONDéveloppeur Web Inscription : février 2009 Messages : 58 ![]() |
Une construction automatique de pdo à partir d'un fichier de conf ? (c'est pas le cas ici, mais on pourrait y venir...).
__________________
Recherche poste de développeur web PHP/Zend Framework sur Lille (hors SSII) |
|
00
|
|
|
#12 |
![]() ![]() Inscription : septembre 2010 Messages : 7 131 ![]() |
?
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#13 |
|
Membre régulier
![]() Thomas DUTRIONDéveloppeur Web Inscription : février 2009 Messages : 58 ![]() |
La classe ne devrait pas contenir les accès à mysql mais plutôt permettre de parser un fichier de conf pour récupérer les informations de connexions à la base de données, et donc être une couche d'accès à la BD supplémentaire.
__________________
Recherche poste de développeur web PHP/Zend Framework sur Lille (hors SSII) |
|
00
|
|
|
#14 | |
|
Invité de passage
![]() Inscription : décembre 2007 Messages : 41 ![]() |
Citation:
@Théocrite : Oui il faut que je m'adapte aux versions. En tout cas, grâce à vous, je peux appréhender les erreurs avec plus d'efficacité |
|
|
|
00
|
|
|
#15 | |
![]() ![]() Inscription : septembre 2010 Messages : 7 131 ![]() |
Citation:
pour info on ne debug pas de mysql_* avec des or die (de plus c'est pas die mais exit) mais avec le mysql.trace_mode
__________________
http://blog.stealth35.com/ |
|
|
|
01
|
|
|
#16 | |
|
Invité de passage
![]() Inscription : décembre 2007 Messages : 41 ![]() |
Web4all. Mais peut importe s'ils ont activé le PDO ou pas. Si dans un an je change d'hébergeur, je transfère mes pages et je vois que l'extension est absente. Je me retrouverais bien mal fichu.
Citation:
Mon code est intimement lié à mes références |
|
|
|
00
|
|
|
#17 | ||
![]() ![]() Inscription : septembre 2010 Messages : 7 131 ![]() |
Citation:
Citation:
faut se mettre à la page un de ces jours ...
__________________
http://blog.stealth35.com/ |
||
|
|
01
|
|
|
#18 |
|
Invité de passage
![]() Inscription : décembre 2007 Messages : 41 ![]() |
|
|
|
00
|
|
|
#19 |
![]() ![]() Inscription : septembre 2010 Messages : 7 131 ![]() |
ta référence est un tuto qui date de 5 ans, tu ne trouves pas qu'il y'a un problème quelque part ?
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#20 | |
|
Invité de passage
![]() Inscription : décembre 2007 Messages : 41 ![]() |
Citation:
C'est sympa de me prévenir que, attention le debug que tu utilises n'est pas valable (encore que j'arrive à retomber sur mes pieds quand une erreur de requête survient), mais sans explications plus concises que "c'est pas die mais exit et c'est avec le mysql.trace_mode", ça va pas m'aider. Si tu as un exemple de la façon la plus opportune de debuger mysql je suis preneur |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com