Définition d'une méthode

Résolu
papyclic Messages postés 446 Date d'inscription   Statut Membre Dernière intervention   -  
papyclic Messages postés 446 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Il y a très peu que je me suis lancé dans la POO, et je voudrais vous demander si vous pouvez m'expliquer cette méthode, dans ma tête c'est encore très confus.
Je vous remercie
    public function __construct($id = null) {
        self::init();

        //is_int -- Détermine si une variable est de type nombre entier
        if(is_int($id)) {
            try {
            $this->load($id);
            }
            catch(Exception $e) {
            throw $e;
            }
        }
    }

3 réponses

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

Qu'est ce que tu ne comprends pas exactement ?

Déjà.. cette "méthode" est le "constructeur" de ton objet.
(Une class représentant ... en quelques sortes.. un modèle d'objet => Mais bon..ça tu dois le savoir... car avant d'utiliser des CLASS tu as regardé ce que c'était.... hein ?)

Dans ce constructeur (qui permet donc d'instancier un objet ).. tu trouves différentes choses.
Déjà le :
 self::init();

... Self, comme son nom l'indique (c'est de l'anglais) signifie : moi-même
donc : J'appelle... une fonction statique nommée "init()" qui se trouve dans la class elle même...

Tu pourras aussi trouver des appels vers des fonctions (méthodes) vers une class "parent" si jamais tu fais de l'héritage ( voir la notion d'EXTEND)
Et donc on pourrait trouver des choses du genre :
parent::ma_fonction();

....là.. je ferai appel à une fonction (ma_fonction() ) qui se trouverait cette fois dans la class parent...

Ensuite tu à un bloc TRY CATCH .. ( Try = Essayer en français ).. ce bloque veut dire :
Essayes de faire le code suivant .... Si ça ne marche pas ( le CATCH) alors fait le code d'après.. ( ici... te retourne l'erreur levée par l'exception éventuellement rencontrée).

Et pour finir ... $this->load($id);
$this : pour cette instance de l'objet
load : une fonction nommée load qui se trouve dans la class
$id : un paramètre qui est passé à la fonction....


Je ne suis pas rentré dans le détail...
Si tu veux "mieux" comprendre il faut que tu te farcisses les tutoriels sur les CLASS ...
Les méthodes statiques/dynamiques ... ce qu'est un "constructeur" ..etc....

Mais ça.. tu trouveras ce qu'il te faut sur le net !
1
papyclic Messages postés 446 Date d'inscription   Statut Membre Dernière intervention   3
 
Bonjour et merci il y avait certaines choses d'incomprehensible pour moi.
Maintenant j'y voit un peu plus clair, tes explications ont été très bien, beaucoup mieux détaillé que sur des tutos que j'ai pu trouver.

Je te remercie
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
La notion de CLASS et leur compréhension n'est pas forcément simple....
Il m'a fallu un "déclic" pour comprendre.... ( et oui.. je fonctionne comme ça.... je me réveille un matin et ..oh.. magie.. ( eureka...) j'ai compris ) :-)

Donc .. courage... pour "tout" comprendre et "maitriser".. il faut s'armer de patience.. pratiquer..pratiquer ..et pratiquer encore....
0
papyclic Messages postés 446 Date d'inscription   Statut Membre Dernière intervention   3
 
Merci
0