Dans une classe PHP, existe-t-il un moyen de définir une variable globale qui n'a pas besoin d'être appelée dans chaque fonction?PHP: définir une variable globale dans une classe
Par exemple, j'ai une variable appelée $settings
qui contient un tableau de valeurs:
Array([option_1] => on, [option_2] => on, [option_3] => off)
La fonction get_option()
vient de WordPress. Les valeurs du tableau $settings
déterminent les fonctions à exécuter:
class My_Class {
public function __construct() {
# Get array of options
$settings = get_option('my_options');
if (is_array($settings) || is_object($settings)) {
if ($settings['option_1'] == 'on') {
add_action('tag_1', array($this, 'function_1'));
}
if ($settings['option_2'] == 'on') {
add_action('tag_2', array($this, 'function_2'));
}
}
}
public function function_1() {
# Call the array of options again
$settings = get_option('my_options');
echo 'This option is ' . $settings['option_1'];
}
public function function_2() {
# Code here...
}
new My_Class();
Cependant, j'appelle la ligne suivante deux fois dans ma __construct()
et function_1()
:
$settings = get_option('my_options');
Au lieu d'appeler cette variable deux fois dans deux fonctions différentes , quelle est la bonne façon d'appeler la même variable qui peut être utilisée dans différentes fonctions de ma classe? J'ai essayé d'ajouter la fonction variable $settings
juste au-dessous du class My_Class
, mais cela ne fonctionne pas:
class My_Class {
global $settings = get_option('my_options');
# Rest of the code below...