Maison >développement back-end >tutoriel php >Comment puis-je accéder à une variable globale dans toutes les fonctions PHP sans la déclarer à plusieurs reprises ?

Comment puis-je accéder à une variable globale dans toutes les fonctions PHP sans la déclarer à plusieurs reprises ?

DDD
DDDoriginal
2024-12-01 17:40:15156parcourir

How Can I Access a Global Variable in All PHP Functions Without Repeatedly Declaring it?

Déclaration de variable globale en PHP

Problème :

Dans un script PHP, il est Il est nécessaire de déclarer une variable comme globale à l'intérieur de chaque fonction qui doit y accéder. Existe-t-il un moyen de définir une variable globale une fois et d'y accéder simultanément dans toutes les fonctions sans utiliser manuellement global dans chaque fonction ?

Réponse :

Il existe deux méthodes alternatives :

Méthode 1 : Utilisation du tableau $GLOBALS :

Le Le tableau $GLOBALS est un tableau associatif qui contient des références à toutes les variables définies dans la portée globale. Pour déclarer une variable globale à l'aide de $GLOBALS, attribuez-lui simplement une valeur en dehors de toute fonction :

$GLOBALS['a'] = 'localhost';

Une fois définie, vous pouvez accéder à $GLOBALS['a'] dans n'importe quelle fonction :

function body() {
    echo $GLOBALS['a'];
}

Méthode 2 : Utiliser une classe avec des propriétés :

Si les fonctions partagent un ensemble de variables, considérez en les encapsulant dans une classe avec des propriétés :

class MyTest {
    protected $a;

    public function __construct($a) {
        $this->a = $a;
    }

    public function head() {
        echo $this->a;
    }

    public function footer() {
        echo $this->a;
    }
}

Instanciez la classe en dehors de toute fonction et accédez à ses propriétés au sein des méthodes :

$a = 'localhost';
$obj = new MyTest($a);

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!

Déclaration:
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