ホームページ > バックエンド開発 > PHPチュートリアル > PHP で静的変数を適切に初期化するにはどうすればよいですか?

PHP で静的変数を適切に初期化するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-11-29 03:32:09
オリジナル
467 人が閲覧しました

How Can I Properly Initialize Static Variables in PHP?

PHP での静的変数の初期化

静的変数を初期化するときに、指定されたコード スニペットに示されているような構文エラーが発生する可能性があります。これは、PHP が変数初期化子内の複雑な式を解析できないためです。

代替の初期化方法

この問題を解決するには、次の代替方法の使用を検討してください。

  • 個別の初期化: 静的変数を次のように定義します。
class Registration {
  static $dates;
}
Registration::$dates = array(
  'start' => mktime(0, 0, 0, 7, 30, 2009),
  'end' => mktime(0, 0, 0, 8, 2, 2009),
  'close' => mktime(23, 59, 59, 7, 20, 2009),
  'early' => mktime(0, 0, 0, 3, 19, 2009),
);
ログイン後にコピー
  • 初期化関数: 初期化を処理するクラス内に静的関数を作成します。 .
class Registration {
  private static $dates;

  static function init() {
    self::$dates = array(
      'start' => mktime(0, 0, 0, 7, 30, 2009),
      'end' => mktime(0, 0, 0, 8, 2, 2009),
      'close' => mktime(23, 59, 59, 7, 20, 2009),
      'early' => mktime(0, 0, 0, 3, 19, 2009),
    );
  }

  // Call the init function to initialize the variable
  public function __construct() {
    static::init();
  }
}
ログイン後にコピー

PHP 5.6サポート

PHP 5.6 では、静的変数初期化子での非自明な式に対する限定的なサポートが導入されました。ただし、明確さと以前のバージョンの PHP との互換性のために、前述の方法を使用することをお勧めします。

以上がPHP で静的変数を適切に初期化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート