PHPに、他の言語で静的な機能を持つクラスに変数の型があるのだろうかと思います。そして、私は同じクラスのすべてのオブジェクトが同じ変数を使用していることを意味し、1つで更新されると、すべてのオブジェクトが更新されます。 Staticはすべてのオブジェクトで共有されているため密接ですが、更新できるようにする必要があります。このためにグローバルを使用する必要がありますか?他の言語の静的変数と同等のPHPは何ですか?
答えて
私は静的で何をしたいと思います。 。。あなたがちょうど::演算子
class Class1 {
protected static $_count = 0;
public function incrementCount() {
return self::$_count++;
}
}
$instance1 = new Class1();
$instance2 = new Class1();
var_dump($instance1->incrementCount(), $instance2->incrementCount());
意志の出力を使用して( "静的文脈" で、すなわちそれをしなければならない、静的変数を更新することができます
のint 0
int型1
これが問題でした。私は::の代わりに$ thisを使っていました。 – fent
単純に変数をConstantsという名前のPHPファイルに作成することができます。
--Constants.php-- $ DATABASE_NAME = "mysqlの"
とは、ファイル内のファイルが含まれています。その値を変更することができます。それはあなたが望むものに近くなりますが、定数が変更されることを意図していないので定数と呼ぶのは良くありません。それは私を混乱させるものです。
なぜ静的変数をあなたが記述したものに対して機能しないのか分かりません(ただし、キーワードfinalとは関係ありません)。
<?php
class Bla
{
public static $var;
public function __construct()
{
Bla::$var = Bla::$var + 1;
}
}
$test = new Bla();
echo Bla::$var; // 1
$test = new Bla();
echo Bla::$var; // 2
?>
あなたはでき更新静的プロパティ:
class A {
protected static $_foo = 0;
public function increment()
{
self::$_foo++;
}
public function getFoo()
{
return self::$_foo;
}
}
$instanceOne = new A();
$instanceTwo = new A();
$instanceOne->getFoo(); // returns 0
$instanceTwo->increment();
$instanceOne->getFoo(); // returns 1
私は
。static
はあなたが探しているキーワードだと思うそして01を防ぐ何もありませんはPHPでbeeingから更新されたプロパティで、PHPでは設定されたときに初期化され、PHPスクリプトの実行中にその値が保持されますが、新しい値に設定することは間違いありません。
正解は、最終的にはPHPに相当するものがないことですが、の静的は、とにかく最初のものと同じように思えます。
静的は、特定のインスタンスに結び付けられていないため、クラスのすべてのインスタンスで同じ値を持つというプロパティを持っています。
あなたは、静的であること、あなたが使用することはできませんので、それをアクセスするための::演算子を使用する必要があります - >を。
- 1. 他の言語でPythonのFabricと同等のものは何ですか?
- 2. JavaのC# "静的変数"と同等
- 3. .NETの静的言語と静的言語の構築の違いは何ですか?
- 4. Cの静的変数に "this"と同等のものがありますか?
- 5. C#の静的変数と動的変数の違いは何ですか?
- 6. Parrot VMと静的言語
- 7. Objective-Cでの静的変数宣言の違いは何ですか?
- 8. JavaのByteArrayOutputStreamと同等の目的は何ですか?
- 9. PHP静的変数
- 10. ネイティブJavaメソッドは静的Javaメソッドと同等ですか?
- 11. Javaの静的{...}と同じC#は何ですか? Javaでは
- 12. 動的言語ランタイムとCLR - DLRのポイントは何ですか?
- 13. 英語とその他の言語用のASP.NET動的ローカライゼーション
- 14. 静的メソッドと静的変数のjava
- 15. 静的にD以外に他の言語がありますか?
- 16. 関数内静的変数と静的クラス変数の比較
- 17. データ構造の設計は静的型の言語です
- 18. Javaスクリプトアラビア語とその他の言語への変換
- 19. はCSSと同等の他のID
- 20. ヘブライ語と他の言語のSQL
- 21. atoi()他の言語と
- 22. Javaでは、静的メソッド自体の内部で宣言された変数は静的ですか?
- 23. パブリック静的変数とプライベート静的変数の違い
- 24. 他の言語/ IDE用のClone Detectiveと同様のツールはありますか?
- 25. C#と同等のPHP mysql_real_escape_string関数
- 26. 他の言語のMavenですか?
- 27. 静的変数PHPの問題
- 28. PHP静的変数の初期化
- 29. PHP - 静的メソッドと非静的メソッドを宣言できますか?
- 30. Go言語のガベージコレクション手法は他と比べて何ですか?
静的プロパティはいつ更新できますか? – jason
静的変数は変更できます。 –
Const変数は変更できません。静的変数は可能です。 – Extrakun