Bonjour à tous
Dans ce tutorial, je vais tenter de vous initier à la POO en php, et plus précisément en php5. Je ne suis pas un professionnel, et je vous demanderai donc de m'excuser et d'être indulgents si vous y voyez des erreurs. Je vous invite à me contacter par mp pour toute remarque/suggestion/demande/...
Ce tutorial s'adresse à tous les niveaux, ou du moins je vais faire de mon mieux pour que ce soit le cas. Je vais bien entendu commencer par les bases pour finir sur les concepts plus avancés.
Néanmoins il est nécessaire de connaître le php pour pouvoir suivre le tuto.
Il est en cours de rédaction, donc ne vous inquiétez pas si vous voyez qu'il manque des choses ( à part bien sûr si le chapitre qui en traite est terminé, dans ce cas n'hésitez pas à me contacter )
Je vous souhaite une bonne lecture à tous, en espérant que j'aurais pû vous apprendre quelque chose :heuuu:
Sommaire
Partie 1 : Les bases
Chapitre 1 : Introduction
I. La POO, qu'est-ce que c'est ?
II. Pourquoi php5 ?
Chapitre 2 : Créer une classe
I. La base de la base
II. Les attributs
III. Les méthodes
IV. Le constructeur
V. Formalisme
Chapitre 3 : Utiliser une classe
I. Utilisation de la classe à l'intérieur de la classe
II. Utilisation de la classe à l'extérieur de la classe
TP : Un bar en POO !
I. Cahier des charges
II. Indications
III. Correction
Partie 2 : La véritable puissance de la POO
Chapitre 1 : L'héritage de classes
I. Introduction
II. Héritage : extends
III. Visibilité : public/protected/private
IV. L'opérateur de résolution de portée ( :: )
V. "final"
Dans cette partie nous allons voir les bases de la POO. Normalement, une fois cette partie terminée ( si vous avez suivi ) vous serez capables de créer une classe et de l'utiliser dans votre code.
Chapitre I : Introduction
I : La POO, qu'est-ce que c'est ?
La POO, ou Programmation Orientée Objet n'est pas un langage de programmation à proprement parler comme le PHP, ou le C. Il s'agit en fait d'une méthode de programmation. Elle a été inventé afin d'améliorer la lisibilité du code source, sa modularité, et bien d'autres aspects qui rendent la programmation bien plus agréable lorsque l'on utilise la POO.
Vous vous en rendrez compte au fur et à mesure de ce tuto.
Le principe de la POO est assez simple. En effet, elle se base sur le monde qui nous entoure. Ne définissons-nous pas tout comme étant un objet ?
Et bien la POO reprend le même principe. C'est à dire qu'elle va nous permettre de séparer notre code en différents objets ( appelés classes ) comme dans la réalité.
Par exemple, l'homme peut être considéré comme un objet, le lit comme un autre, etc... Et bien ce sera la même chose en POO, sauf que vos objets seront le joueur, la classe MySQL, la page, etc...
Et bien vos objets vont en fait fonctionner comme des bibliothèques ( pour ceux qui ne connaissent pas, il s'agit de fichiers qui regroupent plusieurs fonctions ). C'est à dire qu'ils vont posséder des fonctions ( appelées méthodes ) que vous pourrez appeler à loisir par la suite.
Et bien elle est énorme ! En effet, vous pouvez déclarer des variables spécifiques à chaque objet ( appelées attributs ). Ces variables pourront être appelées dans les méthodes, ou en dehors de la classe, et vous pourrez les modifier comme vous voulez.
La différence entre une classe et une bibliothèque peut se voir de cette manière ( imagée ) :
- la bibliothèque, qui porte bien son nom, possède de nombreux livres ( les fonctions ), mais dont on connait seulement le titre ( le nom de la fonction )
- la classe, quant à elle, pourrait être assimilée à une bibliothèque dont on connaît le nom, où l'on pourrait définir sa taille, son poids, l'auteur du livre que l'on recherche, etc...
Pour prendre un exemple plus concret : la main. Elle peut être considérée comme un objet dont les attributs seraient : nombre de doigts, taille des doigts, taille de la main, poids de la main, action en cours,... ; et dont les méthodes seraient : prendre, tourner, bouger un doigt, etc...
Voilà, j'espère que vous aurez compris la différence fondamentale qui existe entre le concept de POO et de bibliothèques grâce à cet exemple ( néanmoins on peut très bien utiliser ces 2 concepts dans un programme ).
Après cette introduction qui, je l'espère, vous aura fait comprendre ce qui se cachait derrière le nom obscur de POO, nous allons pouvoir passer à la pratique, avec son inclusion dans le langage qui nos intéresse : le php.
II. Pourquoi php5 ?
En effet, php5 n'a pas été implémenté chez tous les hébergeurs, néanmoins il l'est de plus en plus, et le fait qu'il possède de nombreuses fonctionnalités pratiques m'a décidé à faire ce tuto dessus, plutot que sur php4 ( et puis de toute manière va bien falloir vous décider un jour à passer à php5 :p ).
Néanmoins je ferais de mon mieux pour vous montrer les équivalences en php4 afin que vous ne soyez pas trop désavantagés si votre hébergeur ne supporte pas php5.
De plus, les évolutions depuis php4 en ce qui concerne la POO ne sont pas si nombreuses que ça, et vous ne devriez donc pas avoir trop de mal à faire la transition entre les deux.
Maintenant que c'est dis, passons à la pratique
Chapitre II : Créer une classe
I. La base de la base
Comme je vous l'ai dis plus tôt, les classes sont la base de la POO. Vous allez devoir déclarer ces classes afin de les appeler plus tard dans votre code. Vous pouvez le faire directement dans la page où vous souhaitez l'appeler, mais c'est une méthode que je vous déconseille plus que fortement car vous serez obligés de la recopier pour chaque page où vous l'utilisez, et cela augementera fortement la taille de vos pages.
Je vous conseille donc de créer un fichier à part pour chacune de vos classes, et de l'inclure ensuite dans la page où vous souhaitez utiliser la classe. Vous pouvez l'enregistrer en .inc, en .php, en .php5, etc...
Il est aussi souvent plus pratique de regrouper toutes vos classes dans le même dossier. Dans le cas d'un très gros projet, regroupez les classes selon leur "action" ( exemple : un dossier "systeme", un dossier "game",... )
Une fois que vous avez crée votre nouveau fichier ( pensez à l'enregistrer régulièrement ), nous allons pouvoir écrire notre classe dedans.
Vu que nous sommes ici en php, et que la POO n'est pas un langage de programmation, nous allons avoir la même syntaxe que le php. Vous ne serez donc pas dépaysés
Néanmoins, cela vous oblige à inclure les balises :
C'est entre ces balises que va être écrite la classe.Dans ce tutorial, je vais tenter de vous initier à la POO en php, et plus précisément en php5. Je ne suis pas un professionnel, et je vous demanderai donc de m'excuser et d'être indulgents si vous y voyez des erreurs. Je vous invite à me contacter par mp pour toute remarque/suggestion/demande/...
Ce tutorial s'adresse à tous les niveaux, ou du moins je vais faire de mon mieux pour que ce soit le cas. Je vais bien entendu commencer par les bases pour finir sur les concepts plus avancés.
Néanmoins il est nécessaire de connaître le php pour pouvoir suivre le tuto.
Il est en cours de rédaction, donc ne vous inquiétez pas si vous voyez qu'il manque des choses ( à part bien sûr si le chapitre qui en traite est terminé, dans ce cas n'hésitez pas à me contacter )
Je vous souhaite une bonne lecture à tous, en espérant que j'aurais pû vous apprendre quelque chose :heuuu:
Sommaire
Partie 1 : Les bases
Chapitre 1 : Introduction
I. La POO, qu'est-ce que c'est ?
II. Pourquoi php5 ?
Chapitre 2 : Créer une classe
I. La base de la base
II. Les attributs
III. Les méthodes
IV. Le constructeur
V. Formalisme
Chapitre 3 : Utiliser une classe
I. Utilisation de la classe à l'intérieur de la classe
II. Utilisation de la classe à l'extérieur de la classe
TP : Un bar en POO !
I. Cahier des charges
II. Indications
III. Correction
Partie 2 : La véritable puissance de la POO
Chapitre 1 : L'héritage de classes
I. Introduction
II. Héritage : extends
III. Visibilité : public/protected/private
IV. L'opérateur de résolution de portée ( :: )
V. "final"
Partie 1 : Les bases
Dans cette partie nous allons voir les bases de la POO. Normalement, une fois cette partie terminée ( si vous avez suivi ) vous serez capables de créer une classe et de l'utiliser dans votre code.
Chapitre I : Introduction
I : La POO, qu'est-ce que c'est ?
La POO, ou Programmation Orientée Objet n'est pas un langage de programmation à proprement parler comme le PHP, ou le C. Il s'agit en fait d'une méthode de programmation. Elle a été inventé afin d'améliorer la lisibilité du code source, sa modularité, et bien d'autres aspects qui rendent la programmation bien plus agréable lorsque l'on utilise la POO.
Vous vous en rendrez compte au fur et à mesure de ce tuto.
Citation :Mais en quoi consiste-t-elle ?
Le principe de la POO est assez simple. En effet, elle se base sur le monde qui nous entoure. Ne définissons-nous pas tout comme étant un objet ?
Et bien la POO reprend le même principe. C'est à dire qu'elle va nous permettre de séparer notre code en différents objets ( appelés classes ) comme dans la réalité.
Par exemple, l'homme peut être considéré comme un objet, le lit comme un autre, etc... Et bien ce sera la même chose en POO, sauf que vos objets seront le joueur, la classe MySQL, la page, etc...
Citation :C'est bien beau tout ça, on a des objets maintenant dans notre code, mais qu'est-ce qu'on en fait ?
Et bien vos objets vont en fait fonctionner comme des bibliothèques ( pour ceux qui ne connaissent pas, il s'agit de fichiers qui regroupent plusieurs fonctions ). C'est à dire qu'ils vont posséder des fonctions ( appelées méthodes ) que vous pourrez appeler à loisir par la suite.
Citation :Quelle est la différence alors avec une bibliothèque ?
Et bien elle est énorme ! En effet, vous pouvez déclarer des variables spécifiques à chaque objet ( appelées attributs ). Ces variables pourront être appelées dans les méthodes, ou en dehors de la classe, et vous pourrez les modifier comme vous voulez.
La différence entre une classe et une bibliothèque peut se voir de cette manière ( imagée ) :
- la bibliothèque, qui porte bien son nom, possède de nombreux livres ( les fonctions ), mais dont on connait seulement le titre ( le nom de la fonction )
- la classe, quant à elle, pourrait être assimilée à une bibliothèque dont on connaît le nom, où l'on pourrait définir sa taille, son poids, l'auteur du livre que l'on recherche, etc...
Pour prendre un exemple plus concret : la main. Elle peut être considérée comme un objet dont les attributs seraient : nombre de doigts, taille des doigts, taille de la main, poids de la main, action en cours,... ; et dont les méthodes seraient : prendre, tourner, bouger un doigt, etc...
Voilà, j'espère que vous aurez compris la différence fondamentale qui existe entre le concept de POO et de bibliothèques grâce à cet exemple ( néanmoins on peut très bien utiliser ces 2 concepts dans un programme ).
Après cette introduction qui, je l'espère, vous aura fait comprendre ce qui se cachait derrière le nom obscur de POO, nous allons pouvoir passer à la pratique, avec son inclusion dans le langage qui nos intéresse : le php.
Citation :Résumé :
POO = Programmation Orientée Objet
un objet = une classe
une fonction d'un objet = une méthode
une variable d'un objet = un attribut
La POO est utilisée dans de nombreux langages, même si ici on ne se concentre que sur le php
II. Pourquoi php5 ?
Citation :Pourquoi tu as choisi de nous présenter la POO en php5 alors que tous les hébergeurs ne le supporte pas ?
En effet, php5 n'a pas été implémenté chez tous les hébergeurs, néanmoins il l'est de plus en plus, et le fait qu'il possède de nombreuses fonctionnalités pratiques m'a décidé à faire ce tuto dessus, plutot que sur php4 ( et puis de toute manière va bien falloir vous décider un jour à passer à php5 :p ).
Néanmoins je ferais de mon mieux pour vous montrer les équivalences en php4 afin que vous ne soyez pas trop désavantagés si votre hébergeur ne supporte pas php5.
De plus, les évolutions depuis php4 en ce qui concerne la POO ne sont pas si nombreuses que ça, et vous ne devriez donc pas avoir trop de mal à faire la transition entre les deux.
Maintenant que c'est dis, passons à la pratique
Citation :Résumé :
Le php5 c'est mieux que le php4
Chapitre II : Créer une classe
I. La base de la base
Comme je vous l'ai dis plus tôt, les classes sont la base de la POO. Vous allez devoir déclarer ces classes afin de les appeler plus tard dans votre code. Vous pouvez le faire directement dans la page où vous souhaitez l'appeler, mais c'est une méthode que je vous déconseille plus que fortement car vous serez obligés de la recopier pour chaque page où vous l'utilisez, et cela augementera fortement la taille de vos pages.
Je vous conseille donc de créer un fichier à part pour chacune de vos classes, et de l'inclure ensuite dans la page où vous souhaitez utiliser la classe. Vous pouvez l'enregistrer en .inc, en .php, en .php5, etc...
Il est aussi souvent plus pratique de regrouper toutes vos classes dans le même dossier. Dans le cas d'un très gros projet, regroupez les classes selon leur "action" ( exemple : un dossier "systeme", un dossier "game",... )
Une fois que vous avez crée votre nouveau fichier ( pensez à l'enregistrer régulièrement ), nous allons pouvoir écrire notre classe dedans.
Citation :C'est bien beau tout ça, mais ça s'écrit comment une classe ?
Vu que nous sommes ici en php, et que la POO n'est pas un langage de programmation, nous allons avoir la même syntaxe que le php. Vous ne serez donc pas dépaysés
Néanmoins, cela vous oblige à inclure les balises :
Code PHP :
<?php
?>
Citation :Comment déclare-t-on la classe ?
Ca se fait d'une manière très simple, comme ceci :
Code PHP :
<?php
class Myclass
{
...
}
?>