Bonjour,

Ayant eu l'habitude de pouvoir le faire en C++ (ainsi qu'en Java je pense), j'aimerais savoir s'il est possible de déclarer des classes imbriquées ("nested class"). Par exemple :
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
17
18
 
class Voiture
{
    private $_moteur = null;
 
    class Moteur
    {
        const DIESEL = 1;
 
        public function __construct($moteurType) {
        }
    }
 
 
    public function __construct() {
        $this->_moteur = new Moteur(Moteur::DIESEL);
    }
}
Est-ce possible ? Si non, on peut toujours s'en sortir et déclarer la classe Moteur au même niveau que Voiture, mais j'aimerais pouvoir utiliser des constantes de classes de la manière suivante : (Fréquemment rencontré en DOT NET)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
$moteurType = Voiture::Moteur::DIESEL;
Comment puis-je reproduire cette "imbrication" ?

D'avance, un grand merci !

Puis-je