<!--:fr-->[poo php] première classe<!--:-->

[poo php] première classe

Ce billet fait parti de la série sur la poo en php5.

Dans un premier temps nous allons créer une classe qui ne sert pas à grand chose hormis de manipuler un peu tous les concepts de base de la programmation orienté objet (poo) en php.

Vous allez donc ouvrir votre IDE préféré (pour la poo j’utilise netbeans) et créer votre première classe. Personnellement je les appelle MaClasse.class.php (les noms de classe commencent par une majuscule) et les met toutes dans un dossier classes à la racine de mon projet.

Ensuite nous allons mettre deux lignes de codes pour indiquer à php que c’est une classe :

  1.  

Voilà! Vous avez votre première classe! Bon ok elle est vide…Donc nous allons lui ajouter un attribut, un constructeur et une méthode qui va nous permettre de changer la valeur de son attribut.

  1. monAttribut=$initMonAttribut;
  2.    }
  3.  
  4.    function setMonAttribut($valeur){
  5.       $this-&gt;monAttribut=$valeur;
  6.    }
  7. }
  8. ?&gt;

$this?? C’est quoi ce truc! Pas de panique! La variable $this permet d’accéder aux attributs et méthodes à l’intérieur de l’objet. Maintenant nous allons tester notre classe inutile. Créez un fichier index.php et mettez y ce code :

  1. monAttribut.PHP_EOL;
  2.    $monObjet-&gt;setMonAttribut('tiens je viens de changer de valeur');
  3.    echo $monObjet-&gt;monAttribut.PHP_EOL;
  4.    $monObjetVide=new MaClasse();
  5.    echo $monObjetVide-&gt;monAttribut.PHP_EOL;
  6. ?&gt;

Comme vous pouvez le voir, pour instancier un objet on utilise le mot clé new suivi du nom de la classe. Ensuite pour accéder aux attributs ou aux méthodes on utilise la flèche (->).

Jusque là vous devriez avoir saisi les concepts évoqués, à savoir : comment créer une classe, comment déclarer un attribut et une méthode (dont la méthode magique __construct pour le constructeur) et comment accéder à ces dernier à l’intérieur de l’objet avec la variable $this.

Dans le prochain article nous créerons notre première classe utile. Vous commencerez alors à voir les bénéfices de la programmation orienté objet en php. C’est un peu déroutant au début surtout lorsque l’on a l’habitude de faire du procédural…

Did you enjoy this post?

If so, would you please consider sharing it with the world

User Responses

10 Responses and Counting...

  1. who-design.fr

    janvier 28, 2009

    Antoine Guiral : apprenti du web 2.0 : [poo php] première classe…

    Article faisant parti d’une série sur la poo en php….

  2. Jeff

    janvier 28, 2009

    Merci pour ce tuto fort instructif!!! ça me permet de mieux comprendre certain truc à la fois en objet et en php objet :d

  3. Rydgel

    janvier 28, 2009

    Moi j’attends la suite, quand ça se corsera un peu plus x)

  4. Antoine

    janvier 28, 2009

    héhé ca arrive ca arrive :D mais bon faut y aller doucement au début…

  5. SorenS

    janvier 28, 2009

    Bonsoir,

    Je voulais savoir à quoi correspondait le PHP_EOL ?
    Je n’ai pas trouvé de réponses franches et c’est la première fois que je le vois utilisé dans un code…

  6. Antoine

    janvier 28, 2009

    Désolé de répondre si tard,
    PHP_EOL correspond à php end of line.

  7. jparia

    janvier 28, 2009

    Bonjour et merci pour ce cours excellent. Il faut que je me lance dans le développement orienté objet sous PHP car je développe principalement avec fonctions déclarées dans un document inclus aux pages.
    L’histoire d’enregistrer un objet dans une session me parait très pertinante.
    Par contre je ne saisis pas bien les :: dans le code (j’ai pas fais d’études info dans mon jeune temps et les class ne sont pas encore bien digérées)
    ex:
    UtilisateurFactory::CreeUtilisateur…

    Merci

  8. Antoine

    janvier 28, 2009

    Bonjour jparia,
    tout d’abord merci pour les compliments :) .

    Ensuite les :: sont utilisés pour appeler une méthode static. C’est une méthode qui sort un peu des appels classique vu que l’objet qui la contient n’a pas besoin d’etre instancié (sinon on parle du pattern singleton). Donc pour une méthode classique on instancie notre objet puis on fait $notreVariable->notreMethode(); . Pour une méthode static c’est : NotreClasse::notreMethode(); .
    Voilà j’espère avoir été clair :) au plaisir de te revoir par ici ;)

  9. jparia

    janvier 28, 2009

    super réactif et super clair.
    encore merci et bon continuation.

  10. Antoine

    janvier 28, 2009

    avec plaisir :)

    Si vous avez des questions, je suis souvent disponible dans la fenetre de chat, en bas a droite.

    Si bous pensez que votre question peut interesser d’autres utilisateurs, préférez les commentaires:)

    A bientôt!

Leave a Reply

Default User

Your Name

janvier 28, 2009

* Name, Email, and Comment are Required

Get Adobe Flash playerPlugin by wpburn.com wordpress themes