Bonjour,
Pour gérer le traitement et l'affichage de mes pages, j'utilise le code suivant :
Il me semblerait plus lisible de remplacer ce code en utilisant les fonctions php is_callable et call_user_func :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 if(class_exists($this->classe)) { $maClasse = new $this->classe(); if(method_exists($maClasse, $this->methode)) { $maClasse->{$this->methode}(); } else { //affichage erreur } } else { //affichage erreur }
Cependant, le fait d'utiliser call_user_func n'instancie pas ma classe. Ce n'est pas vraiment gênant puisque instancier ma classe ne m'apporte rien de plus (puisque je n'ai jamais plusieurs instances de ces classes là au sein de la même page), mais par contre cela implique de passer toutes les méthodes et attributs de mes classes en static afin de pouvoir y accéder dans la méthode appelée par call_user_func...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 if(is_callable(array($this->classe, $this->methode))) { call_user_func(array($this->classe, $this->methode)); } else { //affichage erreur }
D'où ma question : d'après vous, cela est-il judicieux de passer mes méthodes et attributs en static (en sachant de que toutes façons je n'aurai jamais plusieurs instances de ces classes, et que de ce fait ça ne me changera rien que mes méthodes et attributs soient ou non static), ou est-ce là une mauvaise idée?
Merci d'avance pour l'attention que vous porterez à ma question![]()
Partager