8768 sujets

Développement web côté serveur, CMS

Bonjour à tous !
J'ai un petit souci et j'aimerais vraiment que vous m'aidiez. Alors voilà, j'veux créer une classe par exemple

class myClass
{
  private $id;
}

$var1 = new myClass;
$var2 = new myClass;
$var3 = new myClass;



Maintenant j'voudrais que les id de mes classes soient automatiquement incrémentés.
J'veux que l'id de $var1 soit 0, celui de $var2 soit 1, celui de $var3 soit 2, ainsi de suite.
J'ai pas encore écrit de fonction construct. Aidez moi svp. Merci.
Salut

Tu peux faire ça avec ++self.. mais c'est pas très jolie... il faut appeler increment() à chaque nouvelle objet.


class myClass
{
     private static $id = 0;

    final public static function increment()
    {
        return ++self::$id;
    }
}

$var1 = new myClass();

$var2 = new myClass();
$var3 = new myClass();

echo $var1->increment();
echo $var2->increment();
echo $var3->increment();

la sortie sera
1
2
3

Modifié par JENCAL (02 Nov 2021 - 10:07)