Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

objet non instantiable

3 réponses
Avatar
Etienne
Salut.

Je travail sur un framework.
J'aimerai créer une class en PHP qui ne puis pas être instantiée et qui
ne puisse être utilisée que comme class héritée.

un truc genre
class A
{
...
}

class B extends A
{
}

il faudrait que
$oA = new A();

soit interdit :
-soit par le php
-soit via une modification du constructeur de A qui me permettrait de
vérifier que la class n'est pas de type A.

voila.
merci
Etienne

3 réponses

Avatar
Pascal
Etienne a écrit :
Salut.



Bonjour,

Je travail sur un framework.



Version de PHP ?

J'aimerai créer une class en PHP qui ne puis pas être instantiée et qui
ne puisse être utilisée que comme class héritée.



Eh oui, en PHP le constructeur d'une classe parente ne peut avoir de
portée autre que publique.

Une solution peut-être, si PHP 5 : une classe abstraite.
[http://fr2.php.net/manual/fr/language.oop5.abstract.php]

merci



Pas de quoi.

Etienne



Cordialement,
Pascal
Avatar
Bruno Desthuilliers
Etienne a écrit :
Salut.

Je travail sur un framework.
J'aimerai créer une class en PHP qui ne puis pas être instantiée et qui
ne puisse être utilisée que comme class héritée.



Bref, une classe abstraite.
=> http://www.php.net/manual/en/language.oop5.abstract.php
Avatar
Etienne
Le 16/06/2010 18:58, Bruno Desthuilliers a écrit :
Etienne a écrit :
Salut.

Je travail sur un framework.
J'aimerai créer une class en PHP qui ne puis pas être instantiée et
qui ne puisse être utilisée que comme class héritée.



Bref, une classe abstraite.
=> http://www.php.net/manual/en/language.oop5.abstract.php



Oui merci.
effectivement j'avais trouvé ca apres mon message.
merci.
c'est vraiment pile poil ce qu'il me faut :)

Etienne