Mammouth du PHP |
19672 Messages
13 oct. 2010, 17:35
Il n'y a pas de meilleure ou de moins bonne solution, il n'y a qu'une méthode appropriée selon le type.
Premier point, en POO on ne parle pas de fonctions mais de méthodes.
Ensuite, selon qu'une méthode est ou non statique, on utilisera l'opérateur approprié :
- « :: » pour appeler une méthode statique;
- « -> » pour l'appel à une métode normale.
La principale différence est qu'une méthode statique peut être invoquée en dehors d'une instance de la classe contrairement aux autres méthodes.
Illsutration sommaire :
<?php
class maClasse {
public function maMethodeNormale() {
//... instructions ...
}
public static function maMethodeStatique()
{
// ... instructions ...
}
}
// Utilisation :
$appelStatique = maClasse::maMethodeStatique();
$instance = new maClasse();
$appelNormal = $instance->maMethodeNormale();
// Également valide, l'appel d'une méthode statique à partir d'une instance, mais c'est largement moins utilisé :
$appelStatique2 = $instance::maMethodeStatique();
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse 