私は同じ出力を期待している2つのコードスニペット(static
キーワードに関する)がありますが、実際には出力が異なります。php staticプロパティ
質問はなぜですか?
スニペット1
class base
{
public static $var = 1;
}
class sub extends base
{
public static $var = 2;
}
echo base::$var; // Outputs 1
スニペット2
class base2
{
public static $var2 = 1;
}
class sub2 extends base2
{
}
sub2::$var2 = 2;
echo base2::$var2; // Outputs 2
ちょうど私はあなたが 'const'と結果が混乱している疑いがある – nut
を更新し、先端に感謝し、:後でこのような
sub
クラスから$var
を変更する場合にも変化しません。 PHPでは 'static'はインスタンスとは独立したプロパティを定義します。しかし、それはまだ変わることがあります。 – datasage@ user1970939、あなたは実際に何を達成しようとしていますか?あなたは 'public static $ var = 2;'を削除したので出力が異なります。しかし、あなたはそれを知っています。では本当の質問は何ですか? – Matthew