Articles - PHP

Site Web avec PHP et MySQL

  |   17971  |  PHP
Sommaire :

La programmation orient?e objet



Cr?er une class



Code PHP :
 
<?php
class Membre
{
    private $pseudo;
    private $email;
    private $signature;
    private $actif;
 
//fonction constructeur
//Le r?le d'une fonction constructeur est justement de construire l'objet,
// c'est-?-dire de le pr?parer ? une premi?re utilisation.
public function __construct($idMembre)
    {
        // R?cup?rer en base de donn?es les infos du membre
        // SELECT pseudo, email, signature, actif FROM membres WHERE id = ...
 
        // D?finir les variables avec les r?sultats de la base
        $this->pseudo = $donnees['pseudo'];
        $this->email = $donnees['email'];
        // etc.
    } 
    public function envoyerEMail($titre, $message)
    {
        mail($this->email, $titre, $message);
    }
 
    public function bannir()
    {
        $this->actif = false;
        $this->envoyerEMail('Vous avez ?t? banni', 'Ne revenez plus !');
    }
  //les getters et les setters
    public function getPseudo()
    {
        return $this->pseudo;
    }
 
    public function setPseudo($nouveauPseudo)
    {
        if (!empty($nouveauPseudo) AND strlen($nouveauPseudo) < 15)
        {
            $this->pseudo = $nouveauPseudo;
        }
    }  
}
?>
 


Cr?er un objet




Code PHP :
 
<?php
 
include_once('Membre.class.php');
 
$membre = new Membre(32);
$membre->setPseudo('M@teo21');
echo $membre->getPseudo() . ', je vais te bannir !';
$membre->bannir(); 
?>
 



Pour d?truire un objet, ou toute autre variable, on peut le faire ? la main avec la fonction unset() :
<?php
unset($membre);
?>


H?ritage



Code PHP :
 
<?php
include_once('Membre.class.php');
 
class Admin extends Membre
{
    private $couleur;
 
    public function setCouleur()
    {
        // ...
    }
 
    public function getCouleur()
    {
        // ...
    }
}
?>
 


C'est cela l'h?ritage : nous avons maintenant une classe Admin qui poss?de toutes les variables et fonctions de Membre, et nous allons pouvoir en d?finir de nouvelles qui seront propres aux admins.

Les droits d'acc?s



Il y a trois droits d'acc?s ? conna?tre :

public : tout le monde peut acc?der ? l'?l?ment ;
private : personne (? part la classe elle-m?me) n'a le droit d'acc?der ? l'?l?ment ;
protected : identique ? private, sauf qu'un ?l?ment ayant ce droit d'acc?s dans une classe m?re sera accessible aussi dans les classes filles.

Code PHP :
 
<?php
$membre = new Membre(4);
$membre->setPseudo('M@teo21'); // OK car setPseudo est public
$membre->pseudo = 'M@teo21'; // Interdit car $pseudo est private
?>
 


Toutes les variables d'une classe doivent toujours ?tre priv?es ou prot?g?es.



Licence - Pas d?Utilisation Commerciale - Partage dans les M?mes Conditions
Licence Creative Commons