|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité régulier
![]() Inscription : février 2006 Messages : 25 ![]() |
Bonjour,
j'utilise deux classes auth et user qui sont dans deux fichiers différents. Seuelement je dois utiliser des opérations de la classe user dans la classe auth. Aucun de ces 2 fichiers ne sera appelé directement (création d'un site web) Par exemple il y aura un fichier index avec instanciation des 2 classes au début. Code :
Code :
Qu'en pensez-vous ? |
||||
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : août 2006 Messages : 1 207 ![]() |
J'en pense qu'il te faudra probablement faire des include_once (n'oublie pas le _once, c'est pour s'assurer que la classe n'est inclue qu'une fois) pour avoir acces au code d'une classe depuis une autre.
De même, passer user en parametre plutot que d'utiliser un global est plus propre.
__________________
Rakken Oneira, un monde imaginaire d'Heroic Fantasy. Parce que la présomption d'innocence est un des fondements de notre pays et qu'elle doit le rester, dans tous les domaines : http://www.laquadrature.net/ |
|
00
|
|
|
#3 | ||
|
Invité régulier
![]() Inscription : février 2006 Messages : 25 ![]() |
oui au départ j'ai utilisé des include_once.
et j'ai instancier la classe user dans la classe auth avec un $user=new user() en debut de fichier. mais si ensuite j'instancie la classe auth dans un fichier index.php et que je réinstancie une nouvelle fois user dans ce fichier, n'est ce pas redondant. Je sais que c'est tout à fait possible de faire plusieurs instantiations d'une même classe. Mais je trouve juste cela redondant. Est-ce la bonne méthode ou pas ? PS : je débute en POO. Cependant il me reste une question : voici mon code du fichier auth.php Code :
Merci |
||
|
|
00
|
|
|
#4 |
![]() ![]() Inscription : août 2006 Messages : 1 207 ![]() |
Est-ce que tu ne peux pas tout simplement instancier une premiere fois ta classe user dans le index.php, puis passer la variable à ta classe auth, évitant ainsi la réinstanciation ?
__________________
Rakken Oneira, un monde imaginaire d'Heroic Fantasy. Parce que la présomption d'innocence est un des fondements de notre pays et qu'elle doit le rester, dans tous les domaines : http://www.laquadrature.net/ |
|
00
|
|
|
#5 |
|
Invité régulier
![]() Inscription : février 2006 Messages : 25 ![]() |
c'est ce que j'avais fait au tout début (mais dans ce cas avec eclipse pdt je n'ai pas acces aux méthodes de la classe user dans la classe auth par autocomplétion)
par contre si j'instancie user dans index.php, dans la classe auth dois-je mettre var $user ? |
|
|
00
|
|
|
#6 |
|
Nouveau Membre du Club
![]() Étudiant Inscription : juillet 2007 Messages : 61 ![]() |
Bonsoir,
Le nom de l'objet que tu associe à l'instanciation d'une class peut être celui que tu voudras. Si tu as peur de créer trop d'instances de ta class, avant de l'instancier, tu peux vérifier si ta variable $user est un objet et si elle est une instance de la class user. -> is_object() -> instanceof Bonne soirée |
|
00
|
|
|
#7 |
|
Membre Expert
![]() Inscription : février 2005 Messages : 1 797 ![]() |
Salut,
perso je dirais que ca dépend de ton modèle. Par exemple : - est-ce que t'as besoin de user dans plusieurs méthodes dans auth ? - est-ce que user est indispensable pour le fonctionnement de auth ? - Que fait auth ? car login() semble être une méthode d'authenfication, donc est-ce que ce serait pas plutôt, login() qui devrait faire appel à auth (et/ou peut-être retourner une instance de user)? Sans plus d'infos la méthode de Rakken me semble la meilleure. (à savoir ne pas stocker de user dans auth mais le passer à la méthode) Bye |
|
|
00
|
|
|
#8 | |||
![]() ![]() Inscription : août 2006 Messages : 1 207 ![]() |
Citation:
Pour cela, il faut que tu mettes des commentaire style "javadoc". Code :
__________________
Rakken Oneira, un monde imaginaire d'Heroic Fantasy. Parce que la présomption d'innocence est un des fondements de notre pays et qu'elle doit le rester, dans tous les domaines : http://www.laquadrature.net/ |
|||
|
00
|
|
|
#9 | |
|
Invité régulier
![]() Inscription : février 2006 Messages : 25 ![]() |
Merci pour vos réponses.
Si je m'appuie sur cela : Citation:
|
|
|
|
00
|
|
|
#10 | ||
![]() ![]() Inscription : août 2006 Messages : 1 207 ![]() |
Ben une classe instanciée, ca n'est ni plus ni moins qu'une bête variable.
Code :
__________________
Rakken Oneira, un monde imaginaire d'Heroic Fantasy. Parce que la présomption d'innocence est un des fondements de notre pays et qu'elle doit le rester, dans tous les domaines : http://www.laquadrature.net/ |
||
|
00
|
|
|
#11 |
|
Invité régulier
![]() Inscription : février 2006 Messages : 25 ![]() |
Ok merci Rakken
je venais juste de gribouiller cela au brouillon. Ca ma rassure car j'ai la même chose que toi. Merci bcp |
|
|
00
|
|
|
#12 |
|
Invité de passage
![]() Inscription : janvier 2007 Messages : 3 ![]() |
Moi j'utilise un __autoload ... Ca te permet de ne plus te soucier des problèmes d'include...
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com