Pascal PONCET
2007-04-13 15:18:10 UTC
Bonjour,
Soit une classe parente et une classe héritée :
<code>
class Machin {
// constructeur
function Machin( x ) {
...
}
...
}
class Truc extends Machin {
// constructeur
function Truc( x ) {
// appel du constructeur parent
$this->Machin( x );
...
}
...
}
</code>
Problème : si j'ai un nombre important de classes enfants et que je
change le nom de ma classe parente => je suis obligé de reprendre le
code de tous les constructeurs enfants.
Exemple : si "class Machin { ... }" devient "class Chose { ... }", le
constructeur de "class Truc { ... }" devra appeler "$this->Chose( x );"
au lieu de "$this->Machin( x );".
Question : y a-t-il un mot clé, genre "parent::__constructor( x )", qui
permette de ne pas reprendre le nom de la classe parente dans le
constructeur enfant ? (attention, je suis en php 4 !)
Précision : je n'ai pas trop envie de bidouiller avec "eval()" et
"get_parent_class()".
Merci, Pascal
Soit une classe parente et une classe héritée :
<code>
class Machin {
// constructeur
function Machin( x ) {
...
}
...
}
class Truc extends Machin {
// constructeur
function Truc( x ) {
// appel du constructeur parent
$this->Machin( x );
...
}
...
}
</code>
Problème : si j'ai un nombre important de classes enfants et que je
change le nom de ma classe parente => je suis obligé de reprendre le
code de tous les constructeurs enfants.
Exemple : si "class Machin { ... }" devient "class Chose { ... }", le
constructeur de "class Truc { ... }" devra appeler "$this->Chose( x );"
au lieu de "$this->Machin( x );".
Question : y a-t-il un mot clé, genre "parent::__constructor( x )", qui
permette de ne pas reprendre le nom de la classe parente dans le
constructeur enfant ? (attention, je suis en php 4 !)
Précision : je n'ai pas trop envie de bidouiller avec "eval()" et
"get_parent_class()".
Merci, Pascal