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 :

cours poo en php : un truc pas compris


Sujet :

Langage PHP

  1. #1
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 499
    Billets dans le blog
    1
    Par défaut cours poo en php : un truc pas compris
    Bonjour,

    je tente de me former à la POO PHP avec cet article, mais il y a un code que je ne comprends pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    echo "<a href='?action=parler&animal=" . get_class($animal)
                    . "'>" . get_class($animal) . "</a><br />" ;
    comment comprendre ce qu'il y a dans le href ?

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    ...

    regarde le code source du html final

    d’ailleurs je te plus de lire la doc de PHP, cet article est obsolète

  3. #3
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 499
    Billets dans le blog
    1
    Par défaut
    obsolète l'article alors qu'il n'a que 1,5 an ?

    Sinon, pour faire ce que tu conseilles, j'ai commencé par mettre en ligne le code, alors que jusque là, je n'avais fait que lire l'article, et le code comporte un bug : un espace en trop ! Mais une fois enlevé, la classe "zoo" est vide : aucun animaux : plutôt bizarre, non ?

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    bizarre, moi je copie le code, en effet y'a un espace en trop, ensuite c'est bon j'ai

    Les animaux dans le zoo:
    Chat
    Chien
    Koala

  5. #5
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    Cet article m'a l'air un peu succinct, c'est pas mal pour démarrer mais pour aller plus loin, je te recommande de lire:
    - http://g-rossolini.developpez.com/tu...ours/?page=poo (la partie POO du cours de PHP 5)
    - http://fr.wikipedia.org/wiki/Patron_de_conception
    - http://martinfowler.com/eaaCatalog/ (une référence en la matière)
    - http://fr.wikipedia.org/wiki/Mod%C3%...ontr%C3%B4leur (le MVC est devenu pratiquement incontournable)
    - http://julien-pauli.developpez.com/tutoriels/php/pdo/ (Tu vas vite avoir besoin de PDO en POO)

    Les design patterns sont utiles aux développeurs qui souhaitent structurer leur code de manière cohérente: en suivant des patrons de conception largement éprouvés, les erreurs sont moins fréquentes et la plupart des problèmes de conception trouvent leur solution dans un pattern. Attention cependant à ne pas sombrer dans la Singletonite aigüe

    Bonne lecture et bon courage.

  6. #6
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 499
    Billets dans le blog
    1
    Par défaut
    eurêka : tout-à-coup, je me suis dit qu'il fallait me mettre en PHP5 ; donc j'ai rajouté un .htaccess avec AddType x-mapp-php5 .php (j'y ai pensé en lisant le tire du 1er lien de BD), et ça marche...
    et les design pattern, ça me rappelle quand j'ai commencé à lire un truc imbittable (pour moi) sur Zend et PDO, c'est justement pour pouvoir y passer (entre autres, mais c'est le facteur déclenchant) que je me mets à la POO.

  7. #7
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    Je verrai bien un apprentissage dans cet ordre:
    - Comprendre et maitriser PHP 5 en procédural
    - Comprendre et maitriser PHP 5 en objet
    - Apprendre les rudiments de l'architecture logicielle
    - Comprendre et maitriser les principaux designs patterns (voir GOF, PoEAA, GRASP et MVC)
    - Faire ses classes en objet avec un projet significatif
    - Choisir et apprendre un Framework PHP
    - Devenir un Winner

    On te demandera jamais d'être un architecte logiciel mais savoir faire une analyse-conception même rudimentaire te permettra de bien comprendre tous les rouages d'un Framework, de choisir lequel prendre en fonction de tes besoin et d'évoluer sereinement. Sinon, ta position se limitera toujours à celle d'un simple utilisateur accroché comme un bébé édenté au au sein du manuel

  8. #8
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 499
    Billets dans le blog
    1
    Par défaut
    Comprendre et maitriser PHP 5 en procédural
    Ca, c'est bien parti, vu que ma "bible" est intitulée "PHP5" (Jean Engels/Eyrolle)
    Le MVC, ça n'a pas un lien avec la méthode de génie logiciel OMT (un bouquin lu là-dessus il y a une douzaine d'années) ? Si c'est bien ça,
    Apprendre les rudiments de l'architecture logicielle
    est aussi en bonne voie.

    Pour cette étape :
    Comprendre et maitriser PHP 5 en objet
    , je compte étudier le lien que j'ai cité + le lien que tu m'as donné.

    Suis-je sur la bonne voie ?

  9. #9
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    Le MVC, ça n'a pas un lien avec la méthode de génie logiciel OMT (un bouquin lu là-dessus il y a une douzaine d'années) ?
    Non pas vraiment, en fait OMT est une facette de MVC (le modèle). MVC est davantage lié à l'architecture globale de l'application et se rapproche du modèle n-tiers. Dans une architecture multitiers, on découpe l'application en couches. Chaque couche à une responsabilité clairement définie. Un exemple de modèle 3-tiers peut être constitué
    - d'une couche modèle, responsable de la gestion du MDD (modèle de données, MySQL, XML etc.)
    - d'une couche métier, responsable des traitements
    - d'une couche présentation, responsable de l'affichage
    C'est un paradigme qu'on retrouve dans la plupart des Frameworks.
    MVC est un poil plus simple, il signifie Modèle Vue Contrôleur, tu trouvera des détails sur Wikipedia mais l'idée est la même: découper l'application en couches logiques afin de permettre une plus grande flexibilité.

    Il y a beaucoup d'autre patterns, comme Factory, Singleton, Decorator, Observer, Iterator, Façade et mon préféré Adapter pour ne citer que ceux là (tous des GOF), qui sont utiles chaque jour dans la conception logicielle.
    MVC n'est qu'un pattern parmi d'autres.

    Comprendre PHP 5 objet est nécessaire à la maîtrise des patterns et des architectures logicielles modernes car ils s'appuient essentiellement sur l'objet.
    Une connaissance basique d'UML est également souhaitable car beaucoup de tinctoriaux ou d'exemples te montreront des diagrammes de flux ou de classes.

    En ce sens oui, tu es sur la bonne voie. Tu n'a pas essayé de mettre la charrue avant les bœufs, c'est déjà ça

  10. #10
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 499
    Billets dans le blog
    1
    Par défaut
    Une connaissance basique d'UML
    Oui, je l'ai déjà car quand je disais que j'avais lu il y a 12 ans un bouquin sur OMT, je me suis trompé : en fait, c'était UML ! (et chez moi, j'ai un bouquin là-dessus)

    Comprendre et maitriser PHP 5 en objet
    Je devrais assimiler assez vite car j'avais suivi il y a une quinzaine d'années un stage sur le C++, et même si je n'ai jamais pratiqué, j'ai quand même un vernis.

    Et quand tu cites tous ces design patterns, tu les connais tous ? Y a besoin de les connaître tous ? (A part MVC, je ne les connais même pas de nom...)

  11. #11
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    Non bien évidement, je ne les connais pas tous par coeur. En revanche je sais qu'ils existent et ce qu'il font. Du coup, à chaque fois que je me pose une question au niveau du design, j'ai un idée sur comment résoudre le problème et où aller piocher pour implémenter la solution Ceux que j'ai cité sont ceux dont je me sers le plus et que je connais bien.

    Ne soit pas effrayé par les patterns, c'est assez simple en réalité et tu en as sûrement déjà implémenté certains par bon sens. Un patron de conception ressemble assez à un patron en couture: c'est à toi de trouver comment les adapter à ton besoin. Tu peux également regarder du coté de la Spl, ils ont des classes pour l'implémentation de quelques patterns (de mémoire il y a Observer et Iterator dont les classes sont offertes).

    Si tu as travaillé en C++, l'OOP en PHP aura sûrement un goût de déjà vu - quoi que le modèle objet de PHP soit plus proche de Java que de C++.

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

Discussions similaires

  1. Réponses: 48
    Dernier message: 15/07/2013, 11h51
  2. [POO] Cours sur le PHP orienté objet
    Par gforce dans le forum Langage
    Réponses: 12
    Dernier message: 06/11/2006, 09h20
  3. [PHP-JS] [Javascript Client et PHP server]J'ai pas compris..
    Par Jean_Benoit dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 24/05/2006, 12h05
  4. [POO] Classe PHP super simple Mais j'y arrive pas
    Par mulbek dans le forum Langage
    Réponses: 10
    Dernier message: 17/03/2006, 15h33
  5. Trucs pas claire
    Par Freakazoid dans le forum DirectX
    Réponses: 2
    Dernier message: 09/07/2003, 21h10

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