6.Le langage PHP

6.8.Programmation orientée objet

6.8.4.Implémentation d'une classe ou interface

6.8.4.5.Le constructeur

Le constructeur c'est la méthode qui est appelée lorsque l'on instancie un objet (avec l'instruction new). En PHP, le constructeur est une méthode qui doit s'appeler __construct().
<?php
class MaClasseAMoi
{
    public function __construct()
    {
        echo 'Ca y est je suis prêt';
    }
}
Le code suivant, instanciera un objet de la classe MaClasseAMoi en appelant la méthode __construct (qui selon l'exemple affichera au passsage "Ca y est je suis prêt").
<?php
$objet = new MaClasseAMoi(); // Instancie en appelant la méthode __construct
rem
  • En cas d'héritage et de redéfinition du constructeur, le constructeur de la classe mère n'est pas automatiquement appelé

6.8.4.6.Les variables membres et les constantes de classe

Les variables membres d'une classe peuvent être déclarées en indiquant en début de classe la visibilité de la variable (publique public, protégée protected ou privée private) suivi du nom de la variable.
<?php
class MaClasseAMoi
{
    public $variableMembrePublique; // Peut être appelée dans tout contexte
    protected $variableMembreProtegee; // Ne peut être appelée qu'au sein de la classe ou classe fille
    private $variableMembrePrivee; // Ne peut être appelée qu'au sein de la classe

    // corps de la classe
}
Les constantes se déclarent avec le mot clé const
<?php
class MaClasseAMoi
{
    const MA_CONSTANTE_DE_CLASSE = 'constante';
}
Il est tout à fait possible de définir une constante dans la déclaration d'une interface
<?php
interface MonInterface
{
    const MA_CONSTANTE_DE_CLASSE = 'constante';
}
Il est possible de faire référence à cette constante via la notation nom de la classe + ':' + nom de la constante.
<?php
echo MaClasseAMoi::MA_CONSTANTE_DE_CLASSE;

6.8.4.7.$this, self et parent

Au sein d'une classe, il est possible de faire appel à une variable et deux mots clés au rôle un peu particulier.
$this fait référence à l'objet lui même (il ne peut être utilisé dans une méthode statique).
self fait référence à la classe elle même (il peut être utilisé dans une méthode statique).
parent fait référence à la classe mère (il peut être utilisé dans une méthode statique).
<?php
class MaClasseAMoi extends MaClasseMere
{
    protected $maVariable;
    public static $maVariableStatique;

    const MA_CONSTANTE_DE_CLASSE = 'constante';

    public function __construct($param)
    {
        // Appel au constructeur de la classe mère
        parent::__construct($param);
        // Affectation de la variable membre
        $this->maVariable = $param;
    }

    public static function methodeStatique1($param)
    {
        // Affectation de la variable statique (donc valeur partagée entre
        // tous les objets de cette classe)
        self::$maVariableStatique = $param;

        // Appel à la constante de classe MA_CONSTANTE_DE_CLASSE
        // et à l'implémentation par la classe mère de methode1()
        return self::MA_CONSTANTE_DE_CLASSE.' '.
               parent::methodeStatique1($param);
    }

    public static function methodeStatique2()
    {
        // Appel à une méthode statique de la classe
        return self::methodeStatique1('phpfacile');
    }

    public function methode3()
    {
        // Appel à une variable membre (non statique)
        return $this->maVariable;
    }

    public function methode4()
    {
        // Appel à une méthode de la classe (non statique)
        return $this->methode3();
    }

}
Ici vous pouvez apprendre :
1.Introduction
2.Installation de PHP
3.Exécuter un script PHP
4.Configuration et environnement d'exécution de PHP
5.L'environnement de développement
6.Le langage PHP
6.1.Introduction
6.2.Mon premier script
6.3.La syntaxe
6.4.Les boucles (for, while, foreach, do) en PHP
6.5.Les tableaux (array) en PHP
6.6.Les fonctions
6.7.Include
6.8.Programmation orientée objet
6.8.1.Introduction
6.8.2.Utilisation d'une classe
6.8.3.Les exceptions
6.8.4.Implémentation d'une classe ou interface
6.8.4.1.Introduction
6.8.4.2.La classe
6.8.4.3.Les méthodes
6.8.4.4.Les interfaces
6.8.4.5.Le constructeur
6.8.4.6.Les variables membres et les constantes de classe
6.8.4.7.$this, self et parent
6.8.5.Les espaces de nom
6.9.Les fonctions de manipulation de tableaux
6.10.Les dates
6.11.Fichiers et répertoires
6.12.Les paramètres d'entrée d'un script PHP
6.13.Utilisation de la librairie graphique
6.14.JpGraph pour tracer courbes et diagrammes
6.15.Utilisation de bases de données avec PHP
6.16.LDAP
6.17.Parser un document XML
6.18.Génération de documents PDF en PHP
6.19.Envoyer un mail
6.20.Créer un webmail avec IMAP
6.21.Droits utilisateurs: chmod 777
6.22.Localization (l10n) et Traduction
7.PHP pour le web
8.Internationalisation (i18n) et encodage en PHP
9.Créer un fichier de logs/traces
10.Déboguer une application PHP
11.Programmer en PHP en toute sécurité
12.Bibilothèque PEAR
13.Zend Framework 2 et 3
14.Installation de Zend Framework 2
15.Joomla
16.Composer
17.PHPUnit
18.PHPDocumentor
19.Mesure de temps d'exécution (benchmark) d'une fonction PHP
20.Exemples de scripts PHP
21.Erreurs fréquentes et les solutions
22.Archives
Version imprimable: imprimer