PHP メンバー変数は、宣言と同時に初期化できますが、スカラーでのみ初期化できます。例:
クラス A { public $f1 = 'xxxx' static public $f2 = 100;
|
オブジェクトに変数を割り当てたい場合は、コンストラクター内でのみ初期化できます。例:
クラス A { プライベート $child; パブリック関数 __construct() { $this->child = new B(); }
|
しかし、PHP には Java の静的コンストラクター/静的ブロックに似たものがないため、それを初期化する適切なタイミングがありません。次のような共有メンバー向けのソリューションもあります:
クラス A { static public $child } A::$child = new B();
| プライベートメンバー向けのクリーンな方法はないようです。唯一の方法はこれです:
クラス A {
静的プライベート $child; 静的パブリック初期化() { self::$child = new B() } A::initialize();
|
http://www.bkjia.com/PHPjc/364373.html
www.bkjia.com
本当
http://www.bkjia.com/PHPjc/364373.html技術記事 PHP メンバー変数は宣言と同時に初期化できますが、次のように初期化できるのはスカラーのみです。変数を変更します...