たぶん私の質問は何度か聞かれましたが...
私は次のコードを持っています
abstract class ParentClass
{
protected static $count=0;
public static function inc()
{
static::$count++;
}
public static function getCount()
{
return static::$count;
}
}
class FirstChild extends ParentClass
{
}
class SecondChild extends ParentClass
{
}
そして、私はそれをこのように使用します
FirstChild::inc();
echo SecondChild::getCount();
「1」と表示されます。そして、おそらくあなたが推測するように、私は「0」が必要です:)
私は2つの方法を見ます:
protected static $count=0;
各派生クラスへの追加整数
$count
ではなく配列を作成します。そして、そのようなことinc
をgetCount
メソッドで実行します。static :: $ count [get_called_class()] ++;
と
return static::$count[get_called_class()];
しかし、これらの方法は少し醜いと思います。まず、避けたいことをコピー/貼り付けします。第二に-まあ、私は知りません:)私はそれが好きではありません。
私が望むものを達成するためのより良い方法はありますか?
前もって感謝します。