IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[POO] Avantages de la programmation orientée objet en PHP 5 [Débat]


Sujet :

Langage PHP

  1. #141
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 488
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 488
    Points : 6 037
    Points
    6 037
    Par défaut
    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 !...

  2. #142
    Chef de projet PhpMyObject
    Avatar de Laplix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 66
    Points : 210
    Points
    210
    Par défaut
    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/

  3. #143
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    Par défaut
    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

  4. #144
    Membre averti Avatar de Kennel sébastien
    Homme Profil pro
    Développeur
    Inscrit en
    Septembre 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 226
    Points : 329
    Points
    329
    Par défaut
    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...

  5. #145
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    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

  6. #146
    Membre régulier Avatar de Grepsd
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2008
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    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 : 119
    Points
    119
    Par défaut
    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.

  7. #147
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 488
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 488
    Points : 6 037
    Points
    6 037
    Par défaut
    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 !...

  8. #148
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    138
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2005
    Messages : 138
    Points : 173
    Points
    173
    Par défaut
    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

  9. #149
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 488
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 488
    Points : 6 037
    Points
    6 037
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 !...

  10. #150
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    138
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2005
    Messages : 138
    Points : 173
    Points
    173
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  11. #151
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 488
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 488
    Points : 6 037
    Points
    6 037
    Par défaut
    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 !...

  12. #152
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    138
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2005
    Messages : 138
    Points : 173
    Points
    173
    Par défaut
    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 ...

  13. #153
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 488
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 488
    Points : 6 037
    Points
    6 037
    Par défaut
    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 !...

  14. #154
    Membre actif
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Janvier 2008
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Janvier 2008
    Messages : 227
    Points : 273
    Points
    273
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  15. #155
    Nouveau membre du Club
    Inscrit en
    Novembre 2008
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 43
    Points : 38
    Points
    38
    Par défaut
    @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...)

  16. #156
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    257
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 257
    Points : 106
    Points
    106
    Par défaut
    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

  17. #157
    Membre éclairé Avatar de metagoto
    Profil pro
    Hobbyist programmateur
    Inscrit en
    Juin 2009
    Messages
    646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Hobbyist programmateur

    Informations forums :
    Inscription : Juin 2009
    Messages : 646
    Points : 845
    Points
    845
    Par défaut
    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.

  18. #158
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    257
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 257
    Points : 106
    Points
    106
    Par défaut
    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

  19. #159
    Membre habitué Avatar de Giantrick
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    300
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 300
    Points : 195
    Points
    195
    Par défaut
    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...

  20. #160
    Nouveau membre du Club
    Inscrit en
    Septembre 2009
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 36
    Points : 25
    Points
    25
    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.

Discussions similaires

  1. [PHP 5.0] La programmation orientée objet en PHP
    Par RideKick dans le forum Langage
    Réponses: 12
    Dernier message: 28/06/2011, 17h01
  2. [MySQL] Programmation orienté objet en php 5
    Par dhbmedanis dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 06/05/2011, 10h06
  3. Programmation orientée objet en PHP
    Par dekalima dans le forum Langage
    Réponses: 2
    Dernier message: 28/03/2011, 12h45
  4. Réponses: 26
    Dernier message: 12/10/2010, 06h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo