Page 1 sur 1

[POO] Appeler des fonctions d'un objet sans avoir à instancier l'objet

Posté : 03 mai 2016, 19:56
par zork
Bonjour à vous,

je me pose une question sur le développement en mode objet.

J'ai différentes fonctions que j'aimerais regrouper à l’intérieur d'une classe que l'on pourrait par exemple appeler "fonctions". Jusque là, rien de bien incroyable je pense.

Cette classe n'ayant que pour but de rendre accessible certaines fonctions, mon constructeur est vide. Pour accéder à ces fonctions, je suis obligé de faire un new de cette classe.

Ma question est la suivante : ne me serait-il pas possible de me passer de l’instanciation de cet objet, et d'appeler directement la dite fonction ?

Si je ne suis pas assez clair, dite le moi, je passerais par des exemples ;)

Merci par avance

Re: [POO] Appeler des fonctions d'un objet sans avoir à instancier l'objet

Posté : 03 mai 2016, 20:04
par Genova
A la place de :
$obj = new ClassName();
$obj->method();
tu peux faire :
(new ClassName())->method();
Note aussi que tu peux directement étendre PDO plutôt que de créer une classe à part.

Re: [POO] Appeler des fonctions d'un objet sans avoir à instancier l'objet

Posté : 03 mai 2016, 21:13
par or 1

Re: [POO] Appeler des fonctions d'un objet sans avoir à instancier l'objet

Posté : 04 mai 2016, 09:37
par zork
@or 1 : Super, merci !

@Genova : qu'entends-tu par "étendre PDO" ? En te remerciant par avance.

Re: [POO] Appeler des fonctions d'un objet sans avoir à instancier l'objet

Posté : 04 mai 2016, 11:36
par Genova
Comme ça :
class CustomPDO extends PDO
{
    public function quelqueChose()
    {
    
    }
}
Et donc ça te permet d'ajouter les méthodes que tu veux dans PDO.

Re: [POO] Appeler des fonctions d'un objet sans avoir à instancier l'objet

Posté : 04 mai 2016, 17:49
par zork
En fait, je voulais surtout savoir ce que la classe "PDO" avait de particulier. Mais j'en arrive à la conclusion que ce doit être un acronyme du monde de la POO PHP. Donc, si mes recherches sont bonnes, PDO veut dire PHP Datas Objects... Exact ? :)

Re: [RESOLU] [POO] Appeler des fonctions d'un objet sans avoir à instancier l'objet

Posté : 05 mai 2016, 00:08
par Genova
Pour résumer simplement, PDO permet de se connecter à divers type de base de donnée (MySQL, Oracle, etc...), tout en permettant d'utiliser la puissance de la programmation orientée objets, ce qui n'est pas le cas des anciennes façon de faire (avec les fonctions mysql_* par exemple).

Re: [RESOLU] [POO] Appeler des fonctions d'un objet sans avoir à instancier l'objet

Posté : 05 mai 2016, 11:29
par zork
Ah ! Intéressant, je garde cela en mémoire dés que je passerais à la phase "contenu dans la bdd".

Merci à toi ;)