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] Site web et PHP objet


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur
    Inscrit en
    Juin 2006
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 645
    Points : 709
    Points
    709
    Par défaut [POO] Site web et PHP objet
    Bonjour,

    on parle de plus en plus de PHP objet et même de site entièrement objet.
    Pour ma part, un site web en PHP, je visualise. Un programme objet en PHP, je visualise. Mais considérer ma page comme un objet, je commence à caler (pour l'instant, j'accuse mes lacunes en génie logiciel).

    En voulant tenter de combler ces lacunes, j'ai été surpris de ne pas vraiment trouver d'informations sur le sujet. On parle de PageRender, dont je vois le principe... mais je n'ai pas été capable de trouver le moindre exemple (enfin, si, le projet Plat/al de polytechnique.org... mais c'est une vraie usine à gaz).

    Quelqu'un connaît-il un tutoriel bien caché que je n'aurais pas réussi à trouver ? Un site d'exemple complet et bien commenté ? (en vrac : gestion des pages éventuellement hiérarchisées, présence de subtilités avec les accès base de donnée ?, lien avec des objets métiers...)

    Je sais que ma question est très large... c'est pour ça que je ne demande pas le Mars qui va avec mais juste des pistes de recherche pour m'en faire un avis (ne serait-ce que pour voir s'il y a un réel avantage avec ce qui se fait "classiquement" depuis des années).

    Merci !

    Alban
    « Se demander si un ordinateur peut penser est aussi intéressant que de se demander si un sous-marin peut nager. »
    -- Edsger Dijkstra

  2. #2
    Membre éclairé
    Avatar de keaton7
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 743
    Points : 689
    Points
    689
    Par défaut
    Mais considérer ma page comme un objet, je commence à caler
    Peut-être fais-je erreur mais cde n'est pas la page qu'il faut considerer comme un objet mais les elements qui la composent. Et ces composants, ce sont ceux que tu veux bien creer.

    Par exemple pour créer une liste de news a partir d'éléments de bdd, tu pourrais depuis le début de ta page :
    Instancier une Collection news (de la classe collection) comprenant des News (objet News) caractérisées par les propriétés "titre, corps,vignette". Ensuite tu initialise ta liste dans un objet Template puis tu publies ta liste grace a une methode publier de ta classe template.

    Dans cet exemple, tu as les classes :
    - Collection
    - News
    - Template

    Ta conception est objet. Le resultat se rapproche (avec des pincettes) d'un motif MVC.

    Maintenant, il y a evidemment des codes a respecter mais les objets sont ceux que tu veux bien definir, c'est TA page
    Spécialité : Développement WEB
    Indispensables : Doc PHP ~ Doc MySQL ~ w3schools ~ validateurs W3C ~ Google Adwords ~ PHP-Tester


  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur
    Inscrit en
    Juin 2006
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 645
    Points : 709
    Points
    709
    Par défaut
    Ok, merci. Je visualise un peu mieux les enjeux de la chose.
    Je cogite dans ce sens dans mon coin... et je reviens (je pense que j'aurai bien des questions bêtes à poser assez rapidement).
    « Se demander si un ordinateur peut penser est aussi intéressant que de se demander si un sous-marin peut nager. »
    -- Edsger Dijkstra

  4. #4
    Membre éclairé
    Avatar de keaton7
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 743
    Points : 689
    Points
    689
    Par défaut
    Regarde par la par exemple :

    Le premier lien te donne les bases (meme si la doc php est tres bien pour ca aussi) , le second parles plus spécifiquement d'une conception objet optimale autour du Modèle Vue Controleur, qui tend a standardiser les éléments de conception dans les langages orientes objet.

    http://hachesse.developpez.com/objetphp/
    http://julien-pauli.developpez.com/t...ntroleur/#LIII
    Spécialité : Développement WEB
    Indispensables : Doc PHP ~ Doc MySQL ~ w3schools ~ validateurs W3C ~ Google Adwords ~ PHP-Tester


  5. #5
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    Pour ajouter mon grain de sel : regarde l'exemple Jobeet de Symfony (http://www.symfony-project.org/jobee...Doctrine/fr/): même si la version fr est très incomplète (la version anglaise est complète), elle te donnera une idée du MVC et des objets dans la conception d'un site/une application Web.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 12
    Points : 12
    Points
    12
    Par défaut
    Faire de l'objet pour faire de l'objet n'a aucun sens. En gros d'après moi c'est juste une façon de cloisonner et de représenter les données dans un niveau d'abstraction encore supérieur.

    J'imagine que tu vois l'utilité des fonctions, et bien les objets ne sont jamais que des sortes d'entités qui servent également au découpage du code et qui sont réutilisables.

    Si par exemple tu écris une classe pour gérer un upload d'images tu pourra écrire quelque chose du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $img = new PostedImage($_FILES["image"]);
    if ($img->size() < 10*1024*1024) {
        $img->createThumbnail("/uploads/thumb.jpg",100,200);
        $img->move("/uploads/image.jpg");
    }
    Ce n'est qu'un exemple mais ce type de syntaxe permettra alors de réutiliser ton objet simplement (ce qui en l'occurence est relativement agaçant à faire avec des fonctions car un objet contient des attributs, des méthodes etc., pour faire simple il a une durée de vie qui commence à sa construction et se termine à la destruction.

    Enfin bref le code devient surtout plus clair, plus rapide à écrire et le découpage est plus générique.

  7. #7
    Membre éclairé
    Homme Profil pro
    Développeur
    Inscrit en
    Juin 2006
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 645
    Points : 709
    Points
    709
    Par défaut
    A ma grande honte, j'avais oublié ce sujet...

    Merci beaucoup pour ces réponses, je commence à y voir (beaucoup) plus clair. Il me manquait juste le déclic pour passer outre les mauvaises habitudes de ma jeunesse
    « Se demander si un ordinateur peut penser est aussi intéressant que de se demander si un sous-marin peut nager. »
    -- Edsger Dijkstra

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. site web multilingue / php
    Par AP dans le forum Langage
    Réponses: 4
    Dernier message: 14/05/2007, 16h38
  2. Réponses: 1
    Dernier message: 26/01/2007, 16h13
  3. [POO] site web en poo
    Par gforce dans le forum Langage
    Réponses: 13
    Dernier message: 28/04/2006, 18h59
  4. Codes gratuits de site web en php
    Par b612 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 11/11/2005, 10h26
  5. [Sécurité] Masquer une partie de site web avec PHP
    Par Marc365 dans le forum Langage
    Réponses: 3
    Dernier message: 21/10/2005, 15h30

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