|
Publicité ' | ||||||||||||||||||||||||
|
|
#101 | |
|
Expert Confirmé
![]() ![]() Développeur informatique Inscription : février 2005 Messages : 3 030 ![]() |
Citation:
.Pour l'autoload, tu le places dans un fichier qui sera appelé sur tes pages principale. Genre : index.php
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !... |
|
|
|
00
|
|
|
#102 |
|
Nouveau Membre du Club
![]() Inscription : décembre 2006 Messages : 160 ![]() |
Ok c'est fait
Mais j'ai une question par exemple je fais un livre d'or ... le mieu c'est quoi de tout réunir dans une class livredor (Ajout,Lister les messages ... etc) ou de faire une class pour lister les mesages, une class pour l'ajout... ? merci |
|
|
00
|
|
|
#103 | |||
|
Expert Confirmé
![]() ![]() Développeur informatique Inscription : février 2005 Messages : 3 030 ![]() |
Citation:
Exemple Code :
De mon coté c'est un poil plus compliqué parce qu'en faite. La methode AddUser qui se trouve dans la classe ctrlUser et AdUser qui se trouve dans la classe Groupe appelle en faite la même methode mais avec des parametre different. Cette methode provient d'une classe DataUser qui lui est la seul à communique directement avec une source de données. Mais je répète, c'est une conception personnel mais qui à passé de sacré épreuve de force.
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !... |
|||
|
|
00
|
|
|
#104 |
|
Nouveau Membre du Club
![]() Inscription : décembre 2006 Messages : 160 ![]() |
Ok en faite c'est plus question d'organisation...
Par exemple je fais un site d'actualité, j'ai besoin de lister les dernieres news, les news les plus vues, les news d'une catégorie, les dossiers ... etc Le mieux c'est que je face une classe liste ou je met dedans mes fonctions pour lister les dernières news, les plus vues, les news d'une catégories, les dossiers ... Ou une class news par exemple et dedans je met les fonctions pour lister les dernières news, les plus vues mais aussi pour ajouter une news ... etc ??????? En faite je suis un peu perdu sur l'organisation ... |
|
|
00
|
|
|
#105 | |
|
Expert Confirmé
![]() ![]() Développeur informatique Inscription : février 2005 Messages : 3 030 ![]() |
Citation:
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !... |
|
|
|
00
|
|
|
#106 | ||
|
Nouveau Membre du Club
![]() Inscription : décembre 2006 Messages : 160 ![]() |
Ok comme ceci alors :
Code :
|
||
|
|
00
|
|
|
#107 |
|
Membre actif
![]() Inscription : octobre 2007 Messages : 158 ![]() |
Personnellement je travaille en C++ depuis 12 ans et j'ai une bonne habitude de l'objet. Pour moi PHP5 a été une grosse avancée, le code de mon site est en pleine refonte pour passer à l'objet.
L'avantage de l'objet est qu'il oblige à reflechir à un plus haut niveau d'abstraction, à ce demander ce qui fait bien partie de l'objet et ce qui n'en fait par partie, quelle part du comportement d'un objet peut changer selon les circonstance et quelle part est commune. En bref, ça oblige à plus de reflexion et au final le résultat est plus propre. (J'en vois certains qui paniquent autour de moi. N'ayez pas peur, en objet on peut aussi sauter la phase de reflexion et coder comme un goret). Pour ce qui est du typage fort je ne suis pas d'accord avec certains. Le typage faible de PHP apporte une souplesse absente des typages forts. C'est moins sécurisant et ça oblige à bien faire attention à ce que l'on fait si on ne veut pas aller dans le mur, mais changer cet aspect de PHP restraindrait beaucoup ses possibilités. Je rappelle qu'à la base je suis développeur C++ et donc le typage fort, avec ses avantages et ses inconvénients, je connais. |
|
|
00
|
|
|
#108 | |
|
Expert Confirmé
![]() ![]() Développeur informatique Inscription : février 2005 Messages : 3 030 ![]() |
Citation:
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !... |
|
|
|
00
|
|
|
#109 |
|
Nouveau Membre du Club
![]() Inscription : décembre 2006 Messages : 160 ![]() |
Moi en faite j'ai plus l'habitude de coder sans objet ... la c'est ma première !
Et j'ai du mal pour l'organisation ... pour que mon code soit claire pour d'autre développeur ! De plus je ne vois pas trop à quoi sert l'interface ? |
|
|
00
|
|
|
#110 | |
|
Expert Confirmé
![]() ![]() Développeur informatique Inscription : février 2005 Messages : 3 030 ![]() |
Citation:
En fait, j'ai pa pu m'en empêcher. Je crois que c'est cuit pour moi
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !... |
|
|
|
00
|
|
|
#111 |
|
Nouveau Membre du Club
![]() Inscription : décembre 2006 Messages : 160 ![]() |
Moi depuis que j'ai fais ma première classe ... j'adore ... la j'utilise la POO + Template pour un de mes sites, je comptais pas utiliser de POO mais ça me donne envie
|
|
|
00
|
|
|
#112 | ||||||||
|
Nouveau Membre du Club
![]() Inscription : décembre 2006 Messages : 160 ![]() |
En réfléchissant pour la structure du site en POO ... je me remet en question sur l'organisation du code !
En faite berceker united tu m'avait dit la première solution soit un truc comme ça par exemple : Code :
Code :
Code :
Code :
Merci |
||||||||
|
|
00
|
|
|
#113 | |||||||||
|
Expert Confirmé
![]() ![]() Développeur informatique Inscription : février 2005 Messages : 3 030 ![]() |
Citation:
Tu peux avoir une classe qui te permet d`avoir une liste de méthode qui retourne une liste d`élement. Pour les classes que tu proposes c`est une question de point de vue. Personnellement j`estime quùne classe ne fait pas le travail d`enregistrement des ses attributs. Donc une classe New ne peut pas s`autoajouter dans une base. Comme je le disais c`est un des points de vue de l`objet.
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !... |
|||||||||
|
|
00
|
|
|
#114 |
|
Nouveau Membre du Club
![]() Inscription : décembre 2006 Messages : 160 ![]() |
Ok mais dans de cas comment fait-tu ?
Tu as pas un exemple de projet ? (ou je pourrais voir comment c'est fait par un pro) |
|
|
00
|
|
|
#115 | ||
|
Expert Confirmé
![]() ![]() Développeur informatique Inscription : février 2005 Messages : 3 030 ![]() |
J'ai pas d'exemple lisible car mon projet est présent sur plus de niveau donc
Je dis pas que ce que tu as montré n'est pas bon, hein. C'est que j'ai une logique un peut différente. Pour résumé j'ai 3 groupes de classe. controleur, Data et Metier. Metier represente les classes qui represente en gros ton projet. Data est une librairie de classe qui permet de communiquer avec une source de données (base de données). Elles (les classes qui la compose) sont chargé de faire le lien entre le metier et la base de données. Controleur une sorte de chef d'orchestre. Exemple Code :
- Je m'assure que les données des membres vont toujours passé par la classe Membre ainsi. - Qu'une seul voit d'entré pour la source de donnés. - Les requête sont tous placé au même endroit.
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !... |
||
|
|
00
|
|
|
#116 | ||||
|
Nouveau Membre du Club
![]() Inscription : décembre 2006 Messages : 160 ![]() |
Ok c'est différent de ma logique ...
Moi pour je ferais plus de ce style ou je gère tout pour les news : Code :
Code :
|
||||
|
|
00
|
|
|
#117 | ||
|
Membre régulier
![]() Étudiant Inscription : juin 2006 Messages : 83 ![]() |
Citation:
Je suis également en pleine réflexion sur la réorganisation de mon code en Objet et j'étais un peu gêné par le fait d'autoriser une classe élément à s'automanipuler dans la base. Ta solution me plait bien je sens que je vais l'adopter ![]() C'est en effet super de passer avant par la classe élément pour pouvoir s'assurer que les données sont bien présentes et sont dans le bon format ! Merci bien ! Citation:
|
||
|
|
00
|
|
|
#118 |
|
Membre expérimenté
![]() Aurélien GéritsDéveloppeur Web Inscription : mai 2006 Messages : 1 045 ![]() |
Il faut bien avouer que la POO est super pratique et qu'en plus la propreté du code est indiscutable par rapport a la procédural.
Mais ce n'est pas pour une question de propreté que la POO est fort apprécié, c'est pour la puissance de l'utilisation dans des projets a grande échelle. Cependant l'utilisation des class n'est pas des plus facile dans certain cas si on y mets pas du sien ou que les explications ne sont guère claire . Par exemple j'ai un peux de mal a comprendre :
Pour le reste pas de problème, ce qui n'arrête pas mon envie de connaître les 3 qui me font défaut et qui doivent être pratique dans bien des cas en production qui je dirai même se feront désirer rapidement.
__________________
Au petit déjeuner, je prend du PHP et au souper du jQuery.AFUP 2009 : Bien optimiser son code pour le référencement Mon projet open source de librairie PHP 5: magix cjquery |
|
00
|
|
|
#119 | |||
|
Expert Confirmé
![]() ![]() Développeur informatique Inscription : février 2005 Messages : 3 030 ![]() |
Citation:
Je vais prendre l'exemple d'un assembleur de PC. Tous les assembleurs du monde se sont réunie et ont décidé qu'un pc doit contenir au moin - Une carte mere avec ces caractéristiques ... - Une carte graphique avec ces caractéristiques ... - Un lecteur optique avec ces caractéristique ... Ils se sont serrés la main et chacun part de son coté avec cette charte. A l'usine, si jamais il y a un pc qui ne possède ces éléments, il est rejeté car le plan de base qu'il a accepté ne correspond pas. Une interface c'est un peut prêt la même chose. C'est une classe ou tu lui donnes les plans de base. Si ta classe qui utilise cette interface ne colle pas avec, elle est rejeter. Je pouvais prendre un exemple plus simple Si tu supprimes toute les interfaces de ton application il y aura aucune différence de fonctionnement sur l'application. Comme je le disais, elle ne sert qu'a aider le developpeur. Une classe Abstraite. C'est une classe Maman. Elle possède les méthodes commune à toute les classes qui vont dériver d'elle. Par contre, il est hors de question de se taper la mère seulement ses filles . Ce que je veux dire c'est qu'il n'est pas possible de l'instancier.Une classe abstraite qui ne possède pas de classe dérivé ne sert à rien. Maintenant en utilisant les deux en même temps, que peux t'il arriver ? Tu as une classe Fille qui hérite de la classe Maman qui est une classe abstraite. Dans cette classe abstraite il intègre une interface. Ben la classe fille va devoir se conformer à cette interface. Manque de chance pour elle, il est obligatoire d'intégrer la methode suivante : Code :
![]() Chose à savoir. Si jamais dans Maman j'intégrais FermeTaBoucheEtVaFaireLaVaisselle(). C'est elle qui va faire la vaisselle, donc les filles n'ont pas besoin de le faire. Elle est maline cette maman
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !... |
|||
|
|
00
|
|
|
#120 |
|
Membre expérimenté
![]() Aurélien GéritsDéveloppeur Web Inscription : mai 2006 Messages : 1 045 ![]() |
Donc si je comprend bien une class abstract membre par exemple pourrai contenir les fonction de base qui serai étendue dans une class dérivé et le seul moyen d'instancier serai par l'intermédiaire de notre fille.
Les interfaces sont plus ou moins pareille a l'exception que celle-ci doit avoir des fonctions qui colle. Par contre je ne savais pas que le mots réservé implement étais utilisé pour définir les class fille. Je vois le truc mais vaguement pour l'instant , je doit me faire quelque exemple pour me l'enfoncer dans le crâne.
__________________
Au petit déjeuner, je prend du PHP et au souper du jQuery.AFUP 2009 : Bien optimiser son code pour le référencement Mon projet open source de librairie PHP 5: magix cjquery |
|
00
|
Copyright © 2000-2013 - www.developpez.com