Page 1 sur 1

concrétisation du T_PAAMAYIM_NEKUDOTAYIM

Posté : 27 juin 2007, 12:42
par jed
Bonjour, mon travail actuel me contraint à utiliser plusieurs classes héritant les unes des autres. Explication:

class principale
->class formations
-->class domaines
--->class sousdomaines
---->class capacités

Or, je souhaiterais instancier une seule fois la classe principale et accéder aux méthodes & propriétés des classes héritières. Je pensais que le T_PAAMAYIM_NEKUDOTAYIM était là pour me permettre de faire quelque chose du genre:
$formation = new formations();
$formation->id = $id;
$formation::domaines->select(_all);
Le script me renvoit évidemment une erreur concernant le T_PAAMAYIM_NEKUDOTAYIM. Il est évident que je ne puisse instancier les classes héritières dépendant complétement de l'instanciation de le classe mère. Comment faire?

Posté : 27 juin 2007, 15:42
par titerm
Le :: (peut etre plus simple de dire :: que d'utiliser le mot hebreux non ? ) est réservé pour les methodes statique. Dans ton cas, c'est une instance, donc il faut utiliser ->
$formation->domaines->select(_all);


Posté : 27 juin 2007, 16:00
par jed
Merci, j'ai revu mon architecture. Toutes mes classes sont maintenant définies comme abstraites avec des méthodes statiques et je n'ai besoin de faire qu'une instanciation au début de mon traitement. Pour le terme "T_PAAMAYIM_NEKUDOTAYIM" désolé si ça perturbe quelqu'un mais ça a plutôt le don d'attirer l'oeil immédiatement dans une liste de sujets. :wink:

Posté : 27 juin 2007, 16:15
par sadeq

Posté : 27 juin 2007, 16:28
par jed
Merci sadeq pour cette précision. ;)