vendredi, avril 26, 2024
Nom d'utilisateur : Mot de passe :
Home > Dossiers > Dossiers PHP > Ma première classe PHP4 !
[NEWS]
Envoyé par unreal
Objet PHP, pour quoi faire ?

Commençons par une question (celle que vous vous posez peut-être) :

Quel intérêt de programmer en objet dans un langage Web comme le PHP ?


L'intérêt principal est de pouvoir ré-utiliser facilement le même code dans d'autres projets. En effet, l'utilisation de classes permet de développer des blocs, dont le fonctionnement interne importe peu mais dont les entrées/sorties sont parfaitement décrites. Un peu à la manière des fonctions classiques, avec l'organisation en plus : on range les éléments (variables et fonctions) de même type ensemble. Ceci évite d'avoir des 'fonctions.php' contenant 500 fonctions complètement en vrac, organisation qui devient vite ingérable.


Syntaxe d'une classe php

class ma_classe {
    // On déclare les variables
    var $var1;
    var $array1 = array();
    [...]

    // Méthodes

    // Constructeur : il porte le même nom que la classe
    function ma_classe() {
        [...]
    }

    // Fonction membre
    function func1($var2) {
        [...]
    }

    [...]
}


Comme dans toute programmation objet, le constructeur sera appelé lors de la création d'un nouvel objet :

$mon_objet = new ma_classe();


A partir de là, il est possible d'accéder aux variables et fonctions membres :

$mon_objet->var1 = 'Salut !';
$mon_objet->func1($mon_objet->var1);



Exemple de code

La classe suivante permet de calculer le temps de génération d'un script PHP.

class debug {
    var $starttime;

    function start_timer() {
        $mtime = microtime();
        $mtime = explode(' ', $mtime);
        $this->starttime = $mtime[1] + $mtime[0];
    }

    function stop_timer() {
        $mtime = microtime();
        $mtime = explode(' ', $mtime);
        $mtime = $mtime[1] + $mtime[0];
        return (round(($mtime - $this->starttime), 4));
    }
}


Remarque : il faut employer $this-> pour faire appel à une variable d'une classe depuis l'intérieur de l'objet, par exemple $this->starttime.

L'utilisation de la classe se fait de la manière suivante :

index.php
<?php
$debug = new debug;
$debug->start_timer();
[...]
echo ('La page a été générée en ' . $debug->stop_timer() . ' secondes');
?>



Conclusion

Sachez qu'il est possible de faire des classes dérivées ainsi que des fonctions virtuelles, mais cela ne sera pas traité dans ce guide. wink.gif

Pour la documentation officielle, c'est par ici.

Posté le 10/06/05 à 03:35

Ma première classe PHP4 !
Vous pourriez commenter si vous aviez un compte !