Précédent   Forum du club des développeurs et IT Pro > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 05/06/2008, 09h37   #141
berceker united
Expert Confirmé
 
Avatar de berceker united
 
Développeur informatique
Inscription : février 2005
Messages : 3 030
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2005
Messages : 3 030
Points : 3 991
Points : 3 991
Citation:
Envoyé par gerald57 Voir le message
bonjour,
je me demande si j ai bien compris

Est ce qu'une interface sert à imposer une méthode dans une classe?
En gros résumé oui.
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...
berceker united est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2008, 22h03   #142
Laplix
Chef de projet PhpMyObject
 
Avatar de Laplix
 
Inscription : juin 2007
Messages : 66
Détails du profil
Informations personnelles :
Âge : 59

Informations forums :
Inscription : juin 2007
Messages : 66
Points : 179
Points : 179
Je viens de lire toutes les pages de cette discussion Très instructif! Ce que j'en retiens est ceci :

Interface

Une interface est un contrat que les classes qui l'implémentent doivent respecter, sinon gare...

Classe abstraite

Une classe abstraite est une classe mère qui n'est jamais instanciée. Il faut créer des classes filles qui l'étendent.

La classe abstraite propose des méthodes communes à ses classes filles qui peuvent toutefois surcharger ces méthodes si celles de la mère ne respectent pas le besoin métier.

Si la classe mère implémente une interface, les méthodes de l'interface doivent être implémentées. La classe mère peut le faire si ces méthodes sont communes à toutes les filles mais sinon, les filles doivent l'implémenter. L'interface est un contrat et tout le monde sait qu'il faut respecter un contrat sinon...

Les classes filles

Les classes filles implémentent le besoin métier. Si nécessaire, elles surchargent les méthodes de la classe mère si ces dernières ne correspondent pas à leur besoin, mais surtout, elles peuvent ajouter de nouvelles méthodes spécialisées afin d'implémenter leur métier.

Division du code

J'ai une table "personnes" dans ma SGBD. Elle contient les informations habituelles, à savoir id, nom, prénom, etc.

Je crée donc une classe "Personne" qui sait comment ajouter/modifier/détruire une personne dans la table.

Je peux également abstraire encore plus en créant des classes qui savent parler aux différents SGBDs, c.-à-d. MySql, Postgres, Sql Server, Sqlite, etc. et qui vont s'occuper du SQL particulier de chacune de ces SGBDs.

Dans ce cas, ma classe "Personne" utilise la classe Mysql pour insérer une nouvelle personne dans la table "personnes". La classe Mysql génère le SQL nécessaire à l'insertion/modification/etc. et la classe Personne s'assure de lui fournir les bonnes données et la diriger vers la bonne table dans la BDD.

Un exemple

J'ai une classe métier "Employe". Un employé est une personne. Mais elle a aussi certaines caractéristiques propres. Par exemple, no d'employé, spécialité, département, supérieur, etc.

Donc, cette classe métier correspond aussi à une table de la BDD mais elle incorpore également la table "personnes".

Dans la table "employes", j'ai donc un numéro de personne, personne_id, qui me dirige vers la bonne personne dans la table "personnes" et me donne accès à ses éléments nominatifs.

Ma classe Employe va donc créer un objet Personne, renseigner les informations correspondantes (nom,prénom,adresse,etc.) et demander à la classe Personne d'ajouter mon nouvel employé dans la table "personnes", laquelle va demander à la classe Mysql de faire le vrai travail. Par la suite, mon objet Employe va demander à l'objet Personne de lui retourner le nouvel id de cette personne et l'utiliser pour créer le nouvel employé dans la table "employes", toujours en demandant à la classe Mysql de faire le travail.

En passant, j'ai également des clients et des fournisseurs pour lesquels j'ai des contacts qui sont également des personnes. Et aussi, j'ai des utilisateurs autorisés. Ce sont également des personnes.

Et puis hier, mon supérieur m'a dit que je devais maintenant utiliser Oracle. Mais je suis têtu, je vais continuer à utiliser Mysql pendant le développement, mais en production, pas le choix, le client (une personne) exige Oracle.

Donc abstraction supplémentaire, j'ai maintenant une classe Sgbd et je l'utilise en lieu et place de la classe Mysql. Pendant le développement, $driver = 'Mysql', mais pour la production, je n'ai qu'à changer le nom du "driver", $driver = 'Oracle' et Sgbd utilisera la classe Oracle.

Je me trompe peut-être mais je ressens ici la vrai puissance du POO.

Oh et en passant, je dois maintenant écrire un système de News. J'ai des auteurs (des personnes), des modérateurs (des personnes) un administrateur (une personne) et des lecteurs (tout plein de personnes)

Chez le client 1, je dois utiliser Oracle, chez les clients 2, 3 et 4, je dois utiliser Mysql, chez le client 65 (bizarre celui-là) je dois utiliser sqlite, chez le client 756...

Depuis PHP5, c'est vraiment faisable et ça peut même être élégant...

[Question] J'ai bien compris le sens de cette discussion?

PS. Je viens de voir la date du dernier message (5 juin par Berceker United). J'espère que je ne fais pas une grosse bourde en envoyant ce message. Mais, comme je viens de passer pas mal de temps à tout lire, que la discussion est marqué importante et m'intéresse, et que je viens également de passer un bon bout de temps à écrire ce message, je l'envoie quand même. SVP faire parvenir vos flammes à quelquun@/dev/nul (bon, le mp fonctionne aussi)
__________________
Regarde au-delà de l'horizon. L'univers est là-bas. Tes rêves aussi.

Laplix
http://pmo.developpez.com/
Laplix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2008, 00h50   #143
gtraxx
Membre expérimenté
 
Avatar de gtraxx
 
Homme Aurélien Gérits
Développeur Web
Inscription : mai 2006
Messages : 1 045
Détails du profil
Informations personnelles :
Nom : Homme Aurélien Gérits
Âge : 31
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mai 2006
Messages : 1 045
Points : 515
Points : 515
Pour répondre à ta question une class abstraite serai vraiment l'idéal si vous écrivez du code utilisant différente base de donnée.
L'idée en utilisant une interface d'abstraction vous pouvez sans probléme créer une class d'abstraction qui étend une interface d'abstraction pour chaque type de base de donnée en utilisant un simple fichier de configuration pour lui attribuer ce qu'il faut.
En gros une class hérité de l'interface que vous aurez choisie qui exécuterai les fonction native pour le type de base de donnée.
Personnellement j'utilise PDO mais cela ne regarde que moi, chaque utilisateur trouve son compte dans les différentes interface proposé.
__________________
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
gtraxx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/10/2008, 10h55   #144
Kennel sébastien
Membre régulier
 
Avatar de Kennel sébastien
 
Inscription : septembre 2008
Messages : 82
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : septembre 2008
Messages : 82
Points : 83
Points : 83
Citation:
Envoyé par gerald57 Voir le message
bonjour,
je me demande si j ai bien compris

Est ce qu'une interface sert à imposer une méthode dans une classe?
L'interface à été mi en remplacement de l'héritage multiple...

En général tu tans sert pour résoudre les problèmes de typage.

Pour bien comprendre la POO, il vous faut passer par un langage objet par exemple "Java". De plus ci par la suite tu tiens à étudier les motifs de conception, les livre sont écrit en Java...
Kennel sébastien est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2008, 09h45   #145
GrandFather
Expert Confirmé Sénior
 
Avatar de GrandFather
 
Inscription : mai 2004
Messages : 4 538
Détails du profil
Informations personnelles :
Âge : 43

Informations forums :
Inscription : mai 2004
Messages : 4 538
Points : 6 335
Points : 6 335
Citation:
Envoyé par Kennel sébastien Voir le message
L'interface à été mi en remplacement de l'héritage multiple...
Cela permet effectivement d'émuler un héritage multiple, mais on passe à côté de l'intérêt des interfaces si on s'en tient à cette définition.

Vues du code qui les utilise, les interfaces permettent aux classes qui les implémentent de présenter un comportement commun même si elles ne sont pas liées entre elles par une relation d'héritage.

Elles sont donc une alternative valable aux classes abstraites, quand celles-ci ne sont créées que dans le but de donner un comportement commun à des classes filles autrement indépendantes entre elles.
__________________
FAQ XML
------------
« Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
Giacomo Leopardi
GrandFather est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2008, 14h33   #146
Grepsd
Membre habitué
 
Avatar de Grepsd
 
Homme
Développeur Web
Inscription : octobre 2008
Messages : 96
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 23
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : octobre 2008
Messages : 96
Points : 135
Points : 135
Envoyer un message via Skype™ à Grepsd
Citation:
Pour bien comprendre la POO, il vous faut passer par un langage objet par exemple "Java". De plus ci par la suite tu tiens à étudier les motifs de conception, les livre sont écrit en Java...
La POO en elle même diverge énormément suivants les langages, et tu passe à coté de pas mal de choses concernant les interfaces et abstractions...

Les nouveautés concernant la POO en PHP5 sont plus que bien accueillis, elles permettent un développement propre et sain d'application de grande taille et en équipe.
Grepsd est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2008, 15h33   #147
berceker united
Expert Confirmé
 
Avatar de berceker united
 
Développeur informatique
Inscription : février 2005
Messages : 3 030
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2005
Messages : 3 030
Points : 3 991
Points : 3 991
Citation:
Envoyé par SirDarken Voir le message
Je vais peut-être me ramasser complet mais bon.
J'ai fait un peu JAVA (malheureusement j'ai du abandonner faute de temps), et effectivement le concept je le saisie bien, moins sur un site web mais bon on vas pas redebattre.

Parcontre berceker ton post sur ton point de vue me rappel vaguement quelque chose, tu ne parlerai pas en quelque sorte de la "responsabilitée" de la classe ?
En gros un classe qui affiche n'est responsable que de l'affichage ect ect.
Donc voila je voulais savoir si ta façon en Tiers n'est pas simplement ce que je concoie comme resposnabilitée, ce qui du coup m'aidera pas mal à te suivre.


Ah sinon j'adore ton point de vue sur la POO comme quoi la vie est faite pareil, c'est exactement la métaphore que j'utilise pour des fois expliquées concept à mes collègues moins jeunes, enfin cette remarque sert à rien mais ca me rassure que je suis pas déviant en voyant de la POO partout
Désolé j'avais pas vu que tu t'adressais à moi.
En résumé, oui tu as trouvé le bon terme. Une classe à la responsabilité de... En respectant cette règle, cela permet de ne pas construire une classe à tout faire ou une classe qui au final n'est qu'un sac à fonctions.
Je vais prendre un exemple d'un projet ou il y avait au moins 200 classes. Je connaissais pas par cœur ces classes mais il y a eu une erreur un jour. Comme les classes avait un rôle bien précis j'ai pu de suite trouver qui était le coupable. Par contre, il ne faut pas rentrer dans l'extrémisme
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...
berceker united est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2008, 16h09   #148
lespoches
Membre actif
 
Inscription : juin 2005
Messages : 138
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : juin 2005
Messages : 138
Points : 160
Points : 160
Citation:
Envoyé par Kennel sébastien Voir le message
L'interface à été mi en remplacement de l'héritage multiple...

En général tu tans sert pour résoudre les problèmes de typage.

Pour bien comprendre la POO, il vous faut passer par un langage objet par exemple "Java". De plus ci par la suite tu tiens à étudier les motifs de conception, les livre sont écrit en Java...
Je suis assey d'accord avec la vision de seb
J'ai débuté comme pas mal dans le web et maintenant je me tue " l'open space ma tué " dans une immense SSII à faire du Java et honnetement le Java permet de mieux comprendre la POO.
Je ne dénigre en aucun cas la puissance de PHP mais le POO en php n'a pas le recul qu'a la POO en java ce qui induit, moins de doc, moins de livre, moins de best practices. Ya qu'a voir en université, généralement les cours d'UML (pattern et Reverse et des brouettes) sont généralement couplé à des TP en java.

Si je devait répondre à la question originelle qui est "les avantages de la POO en PHP".
Pour moi, ce serai:
- plus de rigueur (pas forcement un désavantage car formateur)
- maintenance plus aisé si on utilise bien le mécanisme d'exceptions
- L'appli évolue plus facilement
-> longévité accrue
-> rentabilité accrue

Business is Business
lespoches est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2008, 09h21   #149
berceker united
Expert Confirmé
 
Avatar de berceker united
 
Développeur informatique
Inscription : février 2005
Messages : 3 030
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2005
Messages : 3 030
Points : 3 991
Points : 3 991
Citation:
Envoyé par lespoches Voir le message
Je suis assey d'accord avec la vision de seb
J'ai débuté comme pas mal dans le web et maintenant je me tue " l'open space ma tué " dans une immense SSII à faire du Java et honnetement le Java permet de mieux comprendre la POO.
Je ne dénigre en aucun cas la puissance de PHP mais le POO en php n'a pas le recul qu'a la POO en java ce qui induit, moins de doc, moins de livre, moins de best practices. Ya qu'a voir en université, généralement les cours d'UML (pattern et Reverse et des brouettes) sont généralement couplé à des TP en java.

Si je devait répondre à la question originelle qui est "les avantages de la POO en PHP".
Pour moi, ce serai:
- plus de rigueur (pas forcement un désavantage car formateur)
- maintenance plus aisé si on utilise bien le mécanisme d'exceptions
- L'appli évolue plus facilement
-> longévité accrue
-> rentabilité accrue

Business is Business
L'objet à toujours et restera assez souvent lié à Java. Il y a pas d'intérêt à parler de POO avec du PHP.
Mais c'est une politique volontaire que PHP n'ait pas autant de possibilité qu'en Java. Il faut que ce langage reste accessible d'où son succès dans le web.
Personnellement coté POO, il manque les notions de surcharge. Le typage existe à l'état réduit. Array et Object nommé.
Code :
1
2
private function toto(array $arr){}
private function toto(monObjet $obj){}
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...
berceker united est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2008, 11h52   #150
lespoches
Membre actif
 
Inscription : juin 2005
Messages : 138
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : juin 2005
Messages : 138
Points : 160
Points : 160
Citation:
Envoyé par berceker united Voir le message
L'objet à toujours et restera assez souvent lié à Java. Il y a pas d'intérêt à parler de POO avec du PHP.
Mais c'est une politique volontaire que PHP n'ait pas autant de possibilité qu'en Java. Il faut que ce langage reste accessible d'où son succès dans le web.
Personnellement coté POO, il manque les notions de surcharge. Le typage existe à l'état réduit. Array et Object nommé.
Code :
1
2
private function toto(array $arr){}
private function toto(monObjet $obj){}
Java n'est pas le papa de la POO !!!
Et sinon, je trouve effectivement que la surcharge serait très intéressante seulement, comme tu le soulignes très bien, il faut revoir les types primitif et les étendre
lespoches est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2008, 12h01   #151
berceker united
Expert Confirmé
 
Avatar de berceker united
 
Développeur informatique
Inscription : février 2005
Messages : 3 030
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2005
Messages : 3 030
Points : 3 991
Points : 3 991
Citation:
Envoyé par lespoches Voir le message
Java n'est pas le papa de la POO !!!
Et sinon, je trouve effectivement que la surcharge serait très intéressante seulement, comme tu le soulignes très bien, il faut revoir les types primitif et les étendre
Ha non j'ai jamais dit que c'était le papa mais aujourd'hui quand on parle de développement objet ont pense de suite à Java alors qu'on aurait pu penser à C++. Mais dans les école, formation, tutorial,... c'est java qui est utilisé comme support pour expliquer.
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...
berceker united est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2008, 15h25   #152
lespoches
Membre actif
 
Inscription : juin 2005
Messages : 138
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : juin 2005
Messages : 138
Points : 160
Points : 160
Citation:
Envoyé par berceker united Voir le message
L'objet à toujours et restera assez souvent lié à Java.
L'objet est une notion, la POO est un style de programmation et non l'objet n'est pas lié à Java!
C'est plutôt Java qui en dépend et pour finir, Java est à la mode, c'est pourquoi il inonde formations, livres, conférences ...
10ans auparavant le C++ était roi, la dynastie a changé et cela continuera.
Du style POM ...
lespoches est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2008, 22h39   #153
berceker united
Expert Confirmé
 
Avatar de berceker united
 
Développeur informatique
Inscription : février 2005
Messages : 3 030
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2005
Messages : 3 030
Points : 3 991
Points : 3 991
Citation:
Envoyé par lespoches Voir le message
L'objet est une notion, la POO est un style de programmation et non l'objet n'est pas lié à Java!
C'est plutôt Java qui en dépend et pour finir, Java est à la mode, c'est pourquoi il inonde formations, livres, conférences ...
10ans auparavant le C++ était roi, la dynastie a changé et cela continuera.
Du style POM ...
Oui oui tu joues sur les mots je sais que c'est un notion, je disais cela dans le sens ou quand il y a besoin de montrer un exemple c'est souvent du Java, c'est dans ce sens que je disais que l'objet est souvent lié au java.
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...
berceker united est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/08/2009, 15h25   #154
patouche
Membre confirmé
 
Homme
Ingénieur systèmes et réseaux
Inscription : janvier 2008
Messages : 220
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux

Informations forums :
Inscription : janvier 2008
Messages : 220
Points : 241
Points : 241
Bonjour, le topic est peu mort et c'est bien dommage....


Pour la différence entre Java/C++, je crois à mon humble avis que le Java, c'est quand même beaucoup plus simple a prendre en main. En effet, la doc est facile a trouver et sur le site de SUN, on a tout un tas d'exemple. Par contre, le C++ aura tendance à être moins gourmand...

Donc, je comprend que le Java "domine" dès que l'on parle de POO. Par contre, pourquoi ne parle-t-on pas C# ??


Pour les avantages de la POO, il faudrait en parler à mon maitre de stage qui se dit lui même développeur confirmer. Le seul problème, c'est que à part les méthodes statiques (soit disant que c'est des souvenirs de php4 parce qu'il ne gérait pas l'objet) et des classes qui héritent toutes les une des autres sans aucune organisation, il ne va pas plus loin... Bon, un extrait d'une classe (fille) qui hérite de mere :
Code :
1
2
3
4
 function method($var){
        $status = mere::method(fille::$config,$var);
        return $status;
    }
C'est bizarre, on pouvait quand même faire meiux que ça en php4 ou alors, j'ai de mauvais souvenir de php4.

La seule différence, entre la version 4 et 5 est, à mon avis, la notion d'interface. Même si je les utilise pas, je pense que ça pourrait être utile...

En POO, je crois que créer un système demande beaucoup plus de réflexion... Et ensuite, c'est que du plaisir...


Patouche
patouche est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/08/2009, 16h24   #155
mistertbo
Nouveau Membre du Club
 
Inscription : novembre 2008
Messages : 43
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 43
Points : 26
Points : 26
@patouche: A mon humble avis, C# risque de détroner Java si ça continue comme ça... Java j'ai jamais franchi le pas, alors que C#, pour avoir fais mumuse avec, c'est quand même enfantin je trouve ! Ayant abordé le concept d'OOP par JavaScript (oui je sais c'est bizarre, mais bon... s'la faute à Dojo et co...), je me suis senti tout de suite à l'aise... alors que Java, ben rien que le nom... enfin...

Sinon en PHP, depuis que j'ai découvert la méthodologie OOP, je n'envisage pas un retour en arrière ! Code plus clair, fini les fonctions à gogo qu'on sait même plus laquelle fait quoi.

C'est sur comme dit patouche, ça demande de se poser avant, de savoir quelle classe va faire quoi, de connaître sa structure avant de commencer, bref faut concevoir avant de se lancer.

C'est peut-être aussi une question de maturité personnelle, mais oui, que du bonheur ! Changer une classe n'implique plus de ré-écrire une partie du code, et l'ajout d'interfaces est à mon avis une excellente idée ! Quand elles sont bien conçues et qu'on les respecte, c'est merveilleux (et pourtant je ne travaille pas en équipe...)
mistertbo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/08/2009, 18h14   #156
akito
Membre régulier
 
Développeur informatique
Inscription : mars 2004
Messages : 256
Détails du profil
Informations personnelles :
Âge : 28

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : mars 2004
Messages : 256
Points : 74
Points : 74
Envoyer un message via MSN à akito
Salut tout le monde!

J'ai lu ce post en entier, et il est bien intéressant.

J'ai fais comme beaucoup d'entre vous du Java avec apprentissage de l'uml.

Mais pour un projet simple de site web, je dois dire que je fais un usage très simple de la poo en php:
Une classe mysql qui fait les accès à la base et des classes pour les différentes fonctions (fonction sur les textes, images etc.).

J'utilise ces classes de manière statique.

Donc je voulais savoir comment utiliser les concepts de la Poo autrement que pour des classes statiques, qui rendent le projet plus maintenable certe, mais qui n'utilise pas vraiment les concepts de la poo.

Merci
akito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/08/2009, 22h03   #157
metagoto
Membre chevronné
 
Avatar de metagoto
 
Inscription : juin 2009
Messages : 632
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 632
Points : 641
Points : 641
Citation:
Envoyé par akito Voir le message
J'utilise ces classes de manière statique.

Donc je voulais savoir comment utiliser les concepts de la Poo autrement que pour des classes statiques, qui rendent le projet plus maintenable certe, mais qui n'utilise pas vraiment les concepts de la poo.
Qu'est-ce que tu veux dire par classes statiques ?
Des classes qui ne comportent que des membres statiques ?

Si tu as fait du java avant, et bien en php, c'est grosso modo pareil en ce qui concerne les concepts POO, mis à part que les instances ne persistent pas entre les requêtes.
metagoto est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2009, 04h18   #158
akito
Membre régulier
 
Développeur informatique
Inscription : mars 2004
Messages : 256
Détails du profil
Informations personnelles :
Âge : 28

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : mars 2004
Messages : 256
Points : 74
Points : 74
Envoyer un message via MSN à akito
Citation:
Qu'est-ce que tu veux dire par classes statiques ?
Je veux dire des classes qui n'ont pas besoin d'etre instancier.

Comme par exemple une classe mysql qui a des methodes d'ajout/modif/suppr/ vers la bdd.

Ou un classe static qui contient un ensemble de methode.

Merci pour ton aide
akito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/03/2010, 16h08   #159
Giantrick
Membre actif
 
Avatar de Giantrick
 
Inscription : janvier 2007
Messages : 300
Détails du profil
Informations personnelles :
Âge : 40

Informations forums :
Inscription : janvier 2007
Messages : 300
Points : 153
Points : 153
Bonjour J'ai lu tout le post, par ailleurs, je me pose une question plus globale.

Le développement web en PHP5 permet d'utiliser :
- le CSS (pour le formatage)
- les fonctions (pour automatiser et éviter des redondances)

J'ai bien compris l'intérêt du POO par rapport aux fonctions en ce qui concerne la transparence et la clarté du code.

Par ailleurs, ma vision d'un objet est la suivante, et j'aimerais savoir comment y arriver avec de la POO (sauf si mon approche n'est pas la bonne) :

sur une page j'ai un champ login avec mot de passe.

Afin de pouvoir positionner cet ensemble où je le souhaite d'une page à l'autre et d'un site à l'autre sans avoir à le réécrire, sans avoir à passer par des includes ou des fonctions, puis-je passer par une ou plusieurs classe pour y arriver ?

De la même façon, j'ai besoin de définir des champs de saisie (type=text) associé à des fonctions de vérification de données (format de date, de téléphone, de mail....) en fonction de certaines variables.

Et ainsi de suite, l'objectif est de prendre mes objets et de les placer où je veux comme je veux sans avoir à m'occuper de tel ou tel fichier joint, variables dépendantes ou fonctions à inclure pour que cela fonctionne.

l'objectif est d'avoir un objet pour chaque composant de ma page, de façon à ce que tout soit modulable de façon totalement autonome.
__________________
-----------------------------------------------------
- Etre clair dans sa demande, facilite les réponses.
- Organiser son travail et sa programmation est indispensable à une rapide évolution.
- Remercier ceux qui vous ont aider favorise le contact et augmente votre crédibilité.

Le géant du sud-ouest...
Giantrick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2010, 14h41   #160
quomeiha
Invité de passage
 
Inscription : septembre 2009
Messages : 29
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 29
Points : 3
Points : 3
Par défaut poo comment gérer?

j'ai une réalision à faire en php, l'application concerne le suivi de la gestion de scolarité d'un département d'informatique pour un mémoire de fin d'études, le problème c'est je j'apprend php ok mais je ne sais pas quoii faire pour la poo, car jai plus travaillé avec delphi,
quelqu'un peut il m'expliquer le principe du passage du modèle physique de données en php.
quomeiha est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 15h51.


 
 
 
 
Partenaires

Hébergement Web