Maison > développement back-end > tutoriel php > Comment puis-je initialiser correctement les variables statiques en PHP ?

Comment puis-je initialiser correctement les variables statiques en PHP ?

Patricia Arquette
Libérer: 2024-11-29 03:32:09
original
467 Les gens l'ont consulté

How Can I Properly Initialize Static Variables in PHP?

Initialisation des variables statiques en PHP

Lors de l'initialisation des variables statiques, vous pouvez rencontrer des erreurs de syntaxe comme celle illustrée dans l'extrait de code donné. En effet, PHP ne peut pas analyser les expressions complexes dans l'initialiseur de variable.

Méthodes d'initialisation alternatives

Pour résoudre ce problème, envisagez d'utiliser les méthodes alternatives suivantes :

  • Initialisation séparée : Définissez votre variable statique comme d'habitude, puis initialisez-la à l'aide d'une instruction distincte à l'extérieur de la définition de la classe.
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),
);
Copier après la connexion
  • Fonction d'initialisation : Créez une fonction statique au sein de la classe pour gérer l'initialisation.
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();
  }
}
Copier après la connexion

Support PHP 5.6

PHP 5.6 introduit de manière limitée prise en charge des expressions non triviales dans les initialiseurs de variables statiques. Cependant, il est recommandé d'utiliser les méthodes susmentionnées pour plus de clarté et de compatibilité avec les versions antérieures de PHP.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal