Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1323 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] utiliser beaucoup d'objets en php ?

 


 Mot :   Pseudo :  
 
 Page :   1  2  3
Page Précédente
Auteur Sujet :

[PHP] utiliser beaucoup d'objets en php ?

n°344342
Big-Foot
Posté le 26-03-2003 à 19:13:27  profilanswer
 

bonjours !
 
Je me demande si en php il veut mieu programmer de facon procedurale ou plutot en utilisant beaucoup les objets ? C'est quoi le plus repide ? et dans quel situations ?
merci

mood
Publicité
Posté le 26-03-2003 à 19:13:27  profilanswer
 

n°367269
omega2
Posté le 19-04-2003 à 17:56:40  profilanswer
 

Me vision des chôses.
Déjà j'oublis le côté rapidité, je pars sur l'idée que le temps de création d'un objet n'est pas significatif (bref, qu'il corespond à un faible pourcentage du temps total d'exécution du programme).
J'utilise des classes que dans deux cas :
1) quand on doit faire un même traitement sur plusieurs ensemble de données diférentes. Par exemple, la gestion des modèles d'un site. (si tu regardes le site www.ubix.org tu véras que chaque news a un affichage standard, et la colone de gauche a un même affichage pour chaque section, l'utilisation d'un object permettrait de retarder certain traitements sans tout compliquer avec une quirielle de tableau sous peine de risquer la perte de données à afficher)
2) quand c'est une partie du site autonome (par exemple un système de génération d'un fichier sous un format bien définit) qui pourait être réutiliser dans d'autres sites. Ca permet ainsi de réduire à zéro les colisions au niveau des variables globales :  
on utilise alors des variables globales qu'en entrée et a condition qu'elles ne proviennent pas du programme mais du serveur ou du navigateur, les autres variables qu'on doit garder en mémoire entre deux fonctions exécuté à des moments différents (et pas l'une appellé par l'autre) seront des propriété de l'object.
Les valeurs à retourner au programme principal le seront par des fonctions. (le programme de départ n'a pas à savoir comment sont stockés les valeurs dans la classe ce qui évite les problème en cas de changement de la structure interne de la classe)
Les valeurs a récupérer du programme appellant le sont a l'aide de fonctions de la classe. (le programme n'a pas a devoir mettre les valeurs dans des variables globale déterminé ce qui pourait entré en colision avec les variables globales déjà utilisé)
 
 
 
Heu, en me relisant, je suis pas sur de mettre expliqué clairement. Si t'as des questions, je suis tout ouis et j'essaierais de faire plus clair. ;)

n°367362
Big-Foot
Posté le 19-04-2003 à 21:26:28  profilanswer
 

(desolé si je repond pas tt de suite apres ton post, mais j'avais effacé mon cookie il y kek temps alors j'ai pas vu tt de suite qu'on m'a repondu)
alors deja merci de ta reponse  :)  
 
bon apres le 1) j'ai pas trop compris, je voi pas de quoi tu parle pour www.ubix.org...
 
pour le 2eme point tout ce que j'ai compris (et c'est pas faute d'avoir essayé  :D ) c'est que la prog objet est utilisé quand un script peu etre utilisé par differentes pages/sites. Mais la je vois pas encore l'interet par rapport au simples fonctions...
 
j'espere que tu va pas te decourager et me repondre encore une fois  :D  et puis si jamais t'a des petits exemples de trucs que tu a fait avec cet methode...


Message édité par Big-Foot le 19-04-2003 à 21:27:55
n°367385
omega2
Posté le 19-04-2003 à 22:30:26  profilanswer
 

Big-Foot a écrit :

(desolé si je repond pas tt de suite apres ton post, mais j'avais effacé mon cookie il y kek temps alors j'ai pas vu tt de suite qu'on m'a repondu)
alors deja merci de ta reponse  :)  
 
bon apres le 1) j'ai pas trop compris, je voi pas de quoi tu parle pour www.ubix.org...
 
pour le 2eme point tout ce que j'ai compris (et c'est pas faute d'avoir essayé  :D ) c'est que la prog objet est utilisé quand un script peu etre utilisé par differentes pages/sites. Mais la je vois pas encore l'interet par rapport au simples fonctions...
 
j'espere que tu va pas te decourager et me repondre encore une fois  :D  et puis si jamais t'a des petits exemples de trucs que tu a fait avec cet methode...

Je disais donc : (coupure de courant du à prise des pieds dans la ralonge. lol)
Pour le 2), Imagine un système de détection d'erreur rudimentaire utilisant une base de donnée.
T'as une première fonction qui note au tout début du script toutes les demandes de pages et une seconde qui note tout à la fin que la page ai bien été exécuté jusqu'au bout.
Pour que la seconde sache quel enregistrement elle doit mettre à jour, il faut que la première lui indique. Il y a alors trois possibilité :
La première, c'est que la première fonction le retroune au programme qui méttra la valeur dans une variable et ensuite ce programme devra la passer au second programme (une chance sur deux que le gas qui l'utilisera dans son site oublie de le faire sur certaines pages)
La seconde, c'est que la première fonction stocke la valeur dans une variable globale et que la seconde utilise la valeur contenu dans cette variable pour savoir où noter la fin d'exécution. Mais si dans le site une autre variable globale est utiliser alros cette valeur sera perdus ce qui fait que quasiment a chaque fois, la page sera noté comme ayant subis un arrêt avant la fin normale de l'exécution. De plus si dans le site cette variable globale là était utilisé pour indiquer si un fichier avait était déjà inclus, ca risque de provoquer des erreurs dans l'exécution. (fonction manquante car fichier non inclus ou fonction redéclaré)
La troisième méthode est l'utilisation d'une classe.
Au début du programme, on déclare un object (une variable) de cette classe là. Dans la classe, on peut exécuter une fonction initialisant l'object, dans cette fonction on apelle la fonction qui note que la page a été demandé. La valeur qui sera utilisé par la seconde fonction sera noté dans une variable de l'object (dans certains livres, ils apellent ces vairables "propriétés de la classe" ). A la fin du programme on appelle la seconde fonction de l'object qui va récupérer cette valeur et faire son traitement comme il faut. :)
L'avantage, c'est qu'il n'y a aucun risque de mélange entre la varialbe interne de la classe et celles du reste du site et il y a aucun risque que le gas qui créé le site oublis de passer à l'object la valeur comme il faut. :)
 
Bon, là, c'est un exemple avec une seule valeur a passer mais si t'en as plusieurs le système de l'object prends plus de valeur comparer aux autres.
 
Comme dans le cas 2) ce sont des sites que tu conais pas qui vont l'utiliser, tu ne peux pas savoir à l'avance si oui ou non, il n'y a pas de variable globale de tel non qui y sont utilisé. Donc la seconde méthode est de toute manière a proscrire. La première méthode est valide mais peut être source d'erreur et si t'as plusieurs valeurs qui doivent être retourné par une des fonctions, tu serais obligé de faire des tableaux. ;)
 
 
Pour le cas 1), mon site, est à l'adresse http://bechat.free.fr/bechatv2 . Comme tu peux le voir, j'ai le même affichage des données sur tout l'écran. Avec un système d'object, je pourais dire que chaque groupe de donnée est stocké dans un object et que chaque object a des propriété différents modifiant l'affichage. Ca sera utile si dans une partie du code, j'ai des données qui devront être affiché dans des endroits différents de l'écran avec un affichage différent en fonction de l'endroit ou ca sera affiché.
Par exemple, je pourais vouloir faire un système de double menu l'un qui regroupe les diférentes parties du site en fonction d'un critère et l'autre qui récapitule un de ces regroupement en donnant plus de détail. Actuellement, je serais obligé de les remplir l'un après l'autre.
Avec le nouveau système, je pourais remplir les deux à la fois avec un affichage différent pour chaque menu et ce sans avoir besoin de faire gaffe à recharger les bonnes données d'affichage pour chaque donné que je rajoutes quelques part.
 
Bon, je suis sur que la description du cas 1) est toujours un peu trop incompréhensible. Dites, il y aurait pas quelqu'un pour lui donner un exemple mieux foutus, par ce que j'ai l'impression de pas savoir comment lui expliquer. ;)
 
 
 
Au fait, j'oubliais un cas 3) Quand t'as une partie d'un site qui sera réutiliser par un autre site mais en rajoutant des fonctionnalités ou qui en modifie une partie du comportement, il est plus facile de le faire quand c'est de l'object que de simples fonctions. Dans le cas de simples fonctions, il faudra (a celui qui fait le système dérivé) analyser le programme fait par le premier, modifier certaines fonctions, en remplacer d'autres ...
Dans le cas d'un object, il créera une classe dérivé de la classe d'origine. Il déclarera une fonction dans sa classe de même nom que celle qu'il veut remplacer de la classe originale il fera des fonctions qui viendront rajouter des bouts de programmes autour de l'exécution normale de telle fonction de la classe normale.
Mais pour faire ça, il sera pas obligre de savoir exactement ce que fait chaque bout de chaque fonction de la classe d'origine, il aura jsute à savoir ce que font les fonctions mais de manière globale pour savoir comment dériver la classe globalement.
De plus, dans le cas de fonctions, en cas de mise à jour du système, celui qui réutilises le ssytème, sera peut être obligé de tout reprendre à zéro pour faire corespondre ces anciennes modifs avec celle de la mise à jour. Dans le cas d'un objet, il aura juste à mettre à jour les fichiers et a modifier ce qui corespond aux parties obsolettes ou aux anciennes fonctions dont le comportement a changé. Mais en tout cas, il perdra moins de temps a faire les modifications. :)

n°367386
antp
Super Administrateur
Champion des excuses bidons
Posté le 19-04-2003 à 22:42:31  profilanswer
 

Moi je ne fais que du procédural, je sais même pas comment on fait un objet en PHP [:tinostar]
(je suis un mauvais exemple, je sais :D)
pourtant quand je programme en Delphi & C++ j'essaie de faire un truc le plus orienté objet possible [:spamafote]


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°367389
forummp3
@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@
Posté le 19-04-2003 à 22:48:04  profilanswer
 

[:drapo]
 
edit:j'ai la flemme de lire tout ca ce soir :D


Message édité par forummp3 le 19-04-2003 à 22:48:38

---------------
lecteur mp3 yvele's smilies jeux de fille
n°367401
Big-Foot
Posté le 19-04-2003 à 23:53:37  profilanswer
 

:ouch:  
ok merci je vais m'imprimer tous ca et le lire tranquillement  :D


Message édité par Big-Foot le 19-04-2003 à 23:54:02
n°369610
Big-Foot
Posté le 23-04-2003 à 16:25:59  profilanswer
 

je suis de retour  :)  
 
je suis desolé mais je comprend tjour pas tres bien le 2), t'aurrais pas un ptit script qui reprene ce concept ?
 
A par ca je suis en train de faire un script de vote, et je pense utiliser les objets : par exemple pour l'affichage des resultats ca se connect a la bdd, mais cet connection ne sera pas utile dans tt les pages car il sera dja connecté. Alors pour la connction et deconnection je pensée faire des class comme ca je peu utiliser ce script sur toutes les pages et meme d'autres sites. C'est une bonne utilisation de cet methode ?

n°369675
omega2
Posté le 23-04-2003 à 17:04:40  profilanswer
 

http://www.fpdf.org/
tu regardes les scripts et les exemples.
Les scripts sont des classes dérivé de même que l'exemple avec un entête et un pied de page. ;)
Je sais pas si ca sera sufisant pour mieux comprendre ce que je disais, mais je crois bien que c'est le meilleur exemple que je conaisse pour le moment. ;)

n°369689
Big-Foot
Posté le 23-04-2003 à 17:09:03  profilanswer
 

ok merci je vais voir ca
 
et pour mon script de vote : c'est une bonne idée ou pas ?

mood
Publicité
Posté le 23-04-2003 à 17:09:03  profilanswer
 

n°369721
simogeo
j'ai jamais tué de chats, ...
Posté le 23-04-2003 à 17:28:13  profilanswer
 

je n'ai pas pris le temps de lire l'ensemble non plus, mais maintenant j'ai mon drapal.... :)  
 
une chose à dire quand même .....
les grandes nouveautés de PHP5 sont quand même très orientées objet. Je crois qu'il est important de faire ces premières armes avant d'être complétement largué.  ;)


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°369736
omega2
Posté le 23-04-2003 à 17:38:04  profilanswer
 

A mon avi, il n'est utile de faire des object que si  

  • on a plusieurs ensemble quasi identique sur lesquels faire le même genre de traitement.
  • Plusieurs ensembles différents sur lesquels on veut faire le même genre de traitement mais de manière différentes.
  • Un ensemble de données-fonctions qui risque d'être dérivé plus tard.


Pour ta conection à la base de donnée, faire un object pour la conection et un pour la déconection est une mauvaise idée.
Mais en faire un qui va gérer tout les échanges avec la base de donnée est une bonne idée. :) Par tout les enemble, je veux dire : la conection, la déconection, l'envois des requêtes, la récupération de l'ensemble de résultat, l'index d'insertion pour quand tu fais un rajout dans la base sur une table en autoincrément ...
Là, c'est utile car ca centralise tout au même endroit et il suffira ensuite de changer d'objet pour changer de base de donnée sans avoir besoin de tout modifier partout. ;) (second cas sur les trois) Ca n'empêchera pas qu'il faudra peut être retravaillé certaines requêtes a cause des spécificité de la nouvelle base de donnée.

n°370113
samuelp
Posté le 24-04-2003 à 09:12:34  profilanswer
 

Moi je programme en Objet tout simplement par le fait de pouvoir serialiser ceux-ci et les reconstituer sans trop se prendre la tete.
 
Egelement c plus simpas d'avoir une representatino UML a cote

n°370935
Big-Foot
Posté le 24-04-2003 à 18:45:29  profilanswer
 

samuelp a écrit :

[...]
Egelement c plus simpas d'avoir une representatino UML a cote


 
c'est koi une representation UML ?
UML : j'ai deja entendu ca plustieurs fois sans jamais comprendre de quoi il est question...

n°370944
simogeo
j'ai jamais tué de chats, ...
Posté le 24-04-2003 à 19:00:14  profilanswer
 

Big-Foot a écrit :


 
c'est koi une representation UML ?
UML : j'ai deja entendu ca plustieurs fois sans jamais comprendre de quoi il est question...


 
c'est un langage de modelisation, successeur de merise  :lol: -> fais une recherche sur google
tu trouveras plein de docs   ;)  
 
à e sujet ... sur une newsletter de nexen il parlait d'un soft permettant de générer des classes en php ... mais je ne me souviens plus lequel. KK'un en sait plus ?


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°371001
Big-Foot
Posté le 24-04-2003 à 20:47:59  profilanswer
 

ok j'ai cherché j'ai trouvé ca : http://uml.developpez.com/lp/
j'en suis qu'a la moitié...  :pt1cable:

n°371054
simogeo
j'ai jamais tué de chats, ...
Posté le 24-04-2003 à 21:36:00  profilanswer
 

Big-Foot a écrit :

ok j'ai cherché j'ai trouvé ca : http://uml.developpez.com/lp/
j'en suis qu'a la moitié...  :pt1cable:  


 
si tu veux tu peux faire une synthèse pour la communauté  :whistle:


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°371164
Big-Foot
Posté le 24-04-2003 à 23:26:05  profilanswer
 

bon alors j'ai tout lu  :sol: , c'est tres interessant j'ai appris des choses sur les organisation de programantion et sur l'histoire de la programmation. Mais sur UML c'est assez vague, je sais que ca aide a faire de la prog objet mais que ca fait pas a ta place, que ca te fait des graphiques pour d'aider, ... etc.
 
Je suis pas encore beaucoup aller voir le reste du site, mais j'aimerais savoir a koi sa ressemble UML !  :??:  j'ai lu 2 pages et je sais toujours pas... c'est un programme ? un espece de language ? ca ce telecharge ??

n°371178
Big-Foot
Posté le 24-04-2003 à 23:29:45  profilanswer
 

euh... en fait c'est un languge c'est ca ??
vous pouvez me donner un petit exemple avec du php et uml ? pour que je puisse voir un peu a quoi ca ressemle tout ca...

n°371205
omega2
Posté le 24-04-2003 à 23:42:15  profilanswer
 

Big-Foot a écrit :

euh... en fait c'est un languge c'est ca ??
vous pouvez me donner un petit exemple avec du php et uml ? pour que je puisse voir un peu a quoi ca ressemle tout ca...

UML, c'est un peu comme de l'algo mais pour les langages object et ca a pour but de t'obliger a réfléchir sur la meilleure manière d'organiser ton code et tes données.
Grace a certaines règle, on évite certain progblème de malfaçon.
Personellement, j'ai jamais eu besoin de cette méthode de modélisation par ce que j'ai jamais fait beaucoup d'algo ou du moins pas au point d'en avoir besoin. ;)

n°371243
ethernal
Chercheur de vérité...
Posté le 25-04-2003 à 00:19:19  profilanswer
 

Big-Foot a écrit :

euh... en fait c'est un languge c'est ca ??
vous pouvez me donner un petit exemple avec du php et uml ? pour que je puisse voir un peu a quoi ca ressemle tout ca...


ils viennent de changer de site visiblement... donc la page merde :(
mais sinon, c'était sympa comme explication :
"Planning your WebSite with UML"


---------------
...oups kernel error...
n°372534
Big-Foot
Posté le 26-04-2003 à 13:17:30  profilanswer
 

merci, j'ai lu (la 2 eme page de l'article marche pas...)
 
mais svp donné moi un exemple concret avec de l UML et du php !  :cry: pask pour l'instant tout ce que j'ai vu c'est une facon de proceder et pas un language ou autre chose...

n°372547
simogeo
j'ai jamais tué de chats, ...
Posté le 26-04-2003 à 13:43:02  profilanswer
 

Big-Foot a écrit :

merci, j'ai lu (la 2 eme page de l'article marche pas...)
 
mais svp donné moi un exemple concret avec de l UML et du php !  :cry: pask pour l'instant tout ce que j'ai vu c'est une facon de proceder et pas un language ou autre chose...


 
ben oui c'est ca ...c'est de la méthode. Différentes étapes de modélisation des besoins afin de parvenir au codage. Il existe ensuite des logiciels qui, a partir de la modélisation effectuée, réalise les classes et génére des bases de données.
Il faut distinguer les deux.  
 
 
une bonne référence ( bonne approche ):
http://editions-eyrolles.com/php.a [...] 10708.php3


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°372552
Big-Foot
Posté le 26-04-2003 à 13:48:53  profilanswer
 

bon avant d'acheter un livre sur UML je decrait peu etre me mettre a la programation objet...  :D  
 
mais est ce qu'il y a des prgrammmes qui nous aident a faire les graphiques et tout ca ?

n°372557
simogeo
j'ai jamais tué de chats, ...
Posté le 26-04-2003 à 13:56:02  profilanswer
 

Big-Foot a écrit :

bon avant d'acheter un livre sur UML je decrait peu etre me mettre a la programation objet...  :D  
 
mais est ce qu'il y a des prgrammmes qui nous aident a faire les graphiques et tout ca ?


 
visio, rational rose et peut-être d'autres que je ne connais pas


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°372629
ethernal
Chercheur de vérité...
Posté le 26-04-2003 à 16:48:10  profilanswer
 

simogeo a écrit :


...c'est de la méthode...


 
UML = langage de modélisation
ce n'est pas une méthode, c'est uniquement un ensemble de notations qui a pour but d'être compréhensible par les personnes concernées (y compris l'utilisateur final).
 
Il existe plusieurs méthodes (mais là c'est trop m'en demander).
 
exemples de modélisation :
http://www.duneram.com/casestudy/rose/login/
http://www.sparxsystems.com.au/use_case_model.htm
http://www.fe.up.pt/~jlopes/doc/conallen/
 
http://zend.com/zend/tut/tutorial-johnson2.php


Message édité par ethernal le 26-04-2003 à 16:53:45

---------------
...oups kernel error...
n°372632
simogeo
j'ai jamais tué de chats, ...
Posté le 26-04-2003 à 17:06:40  profilanswer
 

ethernal a écrit :


 
UML = langage de modélisation
ce n'est pas une méthode, c'est uniquement un ensemble de notations qui a pour but d'être compréhensible par les personnes concernées (y compris l'utilisateur final).
 
Il existe plusieurs méthodes (mais là c'est trop m'en demander).


 
c'est pas une méthode au sens strict ....  
considères ca comme un abus de langage  ;)


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°373420
Big-Foot
Posté le 27-04-2003 à 20:03:52  profilanswer
 

ok maintenant je sais ce que c'est UML  :D  
 
quelqu'un voudrai bien m'aider pour programmer un ptit truc en utilisant les objets ? je vous demande surtout pas de me donner un code tout fait, mais seulement de me dire quel seron les class etc...
 
Alors voila ce que je voudrai faire (c'est pour afficher les resultats d'un vote), je sais que c'est assez mal expliké... :
 

Code :
  1. connect BDD...
  2. $untablau avec tout les noms des tables (ex : $tab_name)
  3. $tab_name = // c'est specifié dans la fontion ca vient du forumulaire
  4. $vote_name = // specifié dans la fontion else reket mysql
  5. $nb_lines = // connection a la $tab_name et verification
  6. $tab_result // reket mysql
  7. $total_votes // mysql
  8. while($row = mysql_fetch_array($tab_result, MYSQL_ASSOC))
  9. {
  10. $votes_% = ($row["nb_votes"] / $total_votes) * 100 /la ca doit donner en %
  11. $width = xpixel / $votes_%
  12. echo $row["option"] . '<img src="..." width=" ' $row["option"]
  13. }
  14. disconnect BDD


 
omega2 tu disait de reunir les connection a la bdd et tt les requettes en une class, comment faire pour y maitre tt les requettes ? je comprend pas vraiment je crois...

n°373714
jagstang
Pa Capona ಠ_ಠ
Posté le 28-04-2003 à 08:48:09  profilanswer
 

+1

n°374143
simogeo
j'ai jamais tué de chats, ...
Posté le 28-04-2003 à 12:14:48  profilanswer
 

classe de connection ici :
 
http://www.phpfrance.com/tutorials [...] mysql.phps


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°374187
omega2
Posté le 28-04-2003 à 12:42:29  profilanswer
 

Big-Foot a écrit :

omega2 tu disait de reunir les connection a la bdd et tt les requettes en une class, comment faire pour y maitre tt les requettes ? je comprend pas vraiment je crois...

Pas toutes les requêtes, mais la fonction d'envoie des requêtes a la base de donnée.
Tu fais tes requêtes a côté et tu la passes en paramêtre a la fonction de la classe en question qui l'envéra a la base de donnée.

n°379118
Big-Foot
Posté le 30-04-2003 à 23:23:20  profilanswer
 

alors j'ai regardé ce script de connection :
http://www.phpfrance.com/tutorials [...] mysql.phps
 
j'ai enlevé le control des erreur pour y voir + clair
ca donne ca :
 

Code :
  1. <?
  2. // Exemple de classe pour gérer les bases de données  
  3. // Permettant de changer de base de données (MySQL->Oracle par ex) facilement  
  4. // Les paramètres sont définis dans un fichier de configuration extérieur à l'aide de la fonction define  
  5. // Exemple :  
  6. // define('DB_SERVEUR', 'localhost');  
  7. // define('DB_USER', 'user');  
  8. // define('DB_PASS', 'pass');  
  9. // define('DB_BDD', 'bdd');  
  10. // define('DB_ADMINMAIL', 'adresse@email.com');  
  11. // define('DB_NOMSCRIPT', 'Nom du script');  
  12. Class DataBase
  13. {
  14.   /* Parametrage BDD */
  15.     var $DB_CONN = ""; //ne pas toucher  
  16.     var $DB_BDD = DB_BDD;                 
  17.     var $DB_USER = DB_USER;                   
  18.     var $DB_PASS = DB_PASS;
  19.     var $DB_SERVEUR = DB_SERVEUR;
  20.     var $DB_ADMINMAIL = DB_ADMINMAIL;
  21.     var $DB_NOMSCRIPT = DB_NOMSCRIPT;
  22.  
  23.    
  24.     /* Initialiser */
  25.     function DbInit($user='',$pass='',$serveur='',$bdd='')
  26.     {
  27.      
  28.       if($user != '')
  29.       {
  30.           $this->DB_USER = $user;
  31.         }
  32.         if($pass != '')
  33.         {
  34.           $this->DB_PASS = $pass;
  35.         }
  36.         if($serveur != '')
  37.         {
  38.           $this->DB_SERVEUR = $serveur;
  39.         }
  40.         if($bdd != '')
  41.         {
  42.           $this->DB_BDD = $bdd;
  43.         }
  44.         return true;
  45.    
  46.   }
  47.     /* Selectionner bdd */
  48.   function DbSelectDb()
  49.   {
  50.     @mysql_select_db($this->DB_BDD,$this->DB_CONN);
  51.     return true;
  52.   }
  53.     /* Connecter à la base de données */
  54.   function DbConnect()
  55.   {
  56.         $this->DB_CONN = @mysql_connect($this->DB_SERVEUR,$this->DB_USER,$this->DB_PASS);
  57.     $this->DbSelectDb();
  58.     return true;
  59.    
  60.   }
  61.     /* Selection */   // ALORS ICI JE COMPREND PAS
  62.     function DbSelect ($sql, $column='')
  63.     {
  64.      
  65.         if(!($results = $this->DbQuery($sql)))
  66.         {
  67.           @mysql_free_result($results);
  68.           return false;
  69.         }
  70.         $count = 0;
  71.         $data = array();
  72.         // on renvoie les résultats dans un tableau à deux dimensions  
  73.         // du type $data[$ligne][$colonne] (par ex $data[0]["nom"])  
  74.         while ( $row = @mysql_fetch_array($results))
  75.         {
  76.             $data[$count] = $row;
  77.             $count++;
  78.         }
  79.         @mysql_free_result($results);
  80.         return $data;
  81.        
  82.     }
  83.     /* Insertion */   // ET ICI NON PLUS...
  84.     function DbInsert ($sql,$returnid='')
  85.     {
  86.      
  87.         if(!($results = $this->DbQuery($sql)))
  88.         {
  89.           return false;
  90.         }
  91.        
  92.         // Si returnid=1 on renvoie l'id de l'enregistrement  
  93.         // A utiliser uniquement si il y a une clef  
  94.         if($returnid == 1)
  95.         {
  96.           $results = @mysql_insert_id();
  97.         }else
  98.         {
  99.           $results = 1;
  100.         }
  101.         return $results;
  102.        
  103.     }
  104.     /* Autres requêtes */
  105.     function DbQuery ($sql)
  106.     {
  107.      
  108.         $results = @mysql_query($sql,$this->DB_CONN);
  109.         return $results;
  110.        
  111.     }
  112. }    //    Fin de la classe  
  113. ?>


 
d'abord pourquoi il y a des "return true;" ?
 
apres vous pouvez m'expliquer le fontionnement de ces 2 trucs que je comprend pas bien, merci


Message édité par Big-Foot le 30-04-2003 à 23:24:15
n°379120
simogeo
j'ai jamais tué de chats, ...
Posté le 30-04-2003 à 23:25:50  profilanswer
 

return true lorsque tout s'est deroulé correctement dans la fonction.
 

Code :
  1. /* Insertion */   // ET ICI NON PLUS...
  2.         // Les parametres
  3.         // $sql="select * from ma_table;" par exemple ...
  4.         // $returnid n'est pas obligatoire -parametre optionnel
  5.         function DbInsert ($sql,$returnid='') 
  6.         { 
  7.               // ici on fait appel a la methode DBQuery() pour faire la requete
  8.               if(!($results = $this->DbQuery($sql))) 
  9.               { 
  10.                   return false
  11.               } 
  12.                
  13.               // Si returnid=1 on renvoie l'id de l'enregistrement   
  14.               // A utiliser uniquement si il y a une clef   
  15.               // si lors de l'appel a la fonction le 2eme parametre est = à 1 alors on renvoie l'ID
  16. // Ca c'est dans le cas d'un table avec clef primaire en autoincrement .... Tu fais une insertion et ici on demande a Mysql de nous renvoyé le numero (AUTO_INCREMENT) de l'insert.
  17.               if($returnid == 1) 
  18.               { 
  19.                   $results = @mysql_insert_id(); 
  20.               }else 
  21.               { 
  22.                   $results = 1; 
  23.               } 
  24.              // sinon il nous dit que l'insert c'est fait correctement
  25.               return $results; 
  26.                
  27.         }


 
pour l'autre exemple c'est pareil ....


Message édité par simogeo le 30-04-2003 à 23:31:39

---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°379127
Big-Foot
Posté le 30-04-2003 à 23:34:32  profilanswer
 

oki, et pour le return true ou false, c'est toujours comme ca avec cet foncon de programmer ?

n°379129
simogeo
j'ai jamais tué de chats, ...
Posté le 30-04-2003 à 23:35:45  profilanswer
 

Big-Foot a écrit :

oki, et pour le return true ou false, c'est toujours comme ca avec cet foncon de programmer ?


 
c'est le programmeur qui décide .. :/... disons que c'est une bonne habitude .....ca t'evite d'aller plus loin si ca déconne.


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°379134
Big-Foot
Posté le 30-04-2003 à 23:42:26  profilanswer
 

donc si le script devient gros c'est une bonne habitude quoi

n°379136
simogeo
j'ai jamais tué de chats, ...
Posté le 30-04-2003 à 23:51:04  profilanswer
 

Big-Foot a écrit :

donc si le script devient gros c'est une bonne habitude quoi


 
c'est une bonne habitude.


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°379139
Big-Foot
Posté le 30-04-2003 à 23:56:29  profilanswer
 

mais dans certaines fonctions de ce script ca retourne true ou false sans aucune condition et la ca sert a quoi exactement ? la condition est deja géré par le php a la base ?


Message édité par Big-Foot le 30-04-2003 à 23:57:24
n°379142
simogeo
j'ai jamais tué de chats, ...
Posté le 01-05-2003 à 00:00:42  profilanswer
 

Big-Foot a écrit :

mais dans certaines fonctions de ce script ca retourne true ou false sans aucune condition et la ca sert a quoi exactement ? la condition est deja géré par le php a la base ?


 
ou ?


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°379144
Big-Foot
Posté le 01-05-2003 à 00:04:30  profilanswer
 

là :
 

Code :
  1. /* Initialiser */ 
  2.         function DbInit($user='',$pass='',$serveur='',$bdd='') 
  3.         { 
  4.              
  5.             if($user != '') 
  6.             { 
  7.                   $this->DB_USER = $user; 
  8.               } 
  9.               if($pass != '') 
  10.               { 
  11.                   $this->DB_PASS = $pass; 
  12.               } 
  13.               if($serveur != '') 
  14.               { 
  15.                   $this->DB_SERVEUR = $serveur; 
  16.               } 
  17.               if($bdd != '') 
  18.               { 
  19.                   $this->DB_BDD = $bdd; 
  20.               } 
  21.      
  22.               return true
  23.            
  24.       }

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] utiliser beaucoup d'objets en php ?

 

Sujets relatifs
PHP et WORd[PHP]Problème récuperation fichier uploadé:open_basedir restriction...
[PHP] Version a partir de laquelle est disponible une fonctionalité[PHP] include qui marche pas ?
[PHP] probleme avec des pseudo frames...PHP : XML parser : plante sur les accents !
[PHP/SQL] ORDER BY m'a tuer ...Utiliser un driver pour graveur ???
Entrée clavier avec PHP en ligne de commande ?Je cherche un assistant graphique qui génère du PHP .
Plus de sujets relatifs à : [PHP] utiliser beaucoup d'objets en php ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR