Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/07/2011, 11h07   #1
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
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 :
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 ?
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2011, 11h09   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
...

regarde le code source du html final

d’ailleurs je te plus de lire la doc de PHP, cet article est obsolète
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2011, 11h31   #3
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
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 ?
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2011, 11h35   #4
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
bizarre, moi je copie le code, en effet y'a un espace en trop, ensuite c'est bon j'ai

Citation:
Les animaux dans le zoo:
Chat
Chien
Koala
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2011, 12h28   #5
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

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

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 016
Points : 5 016
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.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2011, 13h11   #6
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
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.
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2011, 13h22   #7
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

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

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 016
Points : 5 016
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
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2011, 13h53   #8
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
Citation:
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,
Citation:
Apprendre les rudiments de l'architecture logicielle
est aussi en bonne voie.

Pour cette étape :
Citation:
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 ?
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2011, 14h06   #9
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

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

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 016
Points : 5 016
Citation:
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
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2011, 16h10   #10
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
Citation:
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)

Citation:
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...)
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2011, 17h37   #11
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

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

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 016
Points : 5 016
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++.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h10.


 
 
 
 
Partenaires

Hébergement Web