In einer PHP-Klasse gibt es eine Möglichkeit, eine globale Variable festzulegen, die nicht in jeder Funktion aufgerufen werden muss?PHP: Setze eine globale Variable in einer Klasse
Zum Beispiel habe ich eine Variable namens $settings
die ein Array von Werten enthält:
Array([option_1] => on, [option_2] => on, [option_3] => off)
get_option()
Die Funktion von Word kommt. Die Werte in der $settings
Array bestimmen, welche Funktionen auszuführen:
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();
jedoch nenne ich die folgende Zeile zweimal in meinem __construct()
und function_1()
:
$settings = get_option('my_options');
Statt diese Variable zweimal in zwei verschiedenen Funktionen aufrufen Was ist die richtige Art, dieselbe Variable aufzurufen, die in verschiedenen Funktionen meiner Klasse verwendet werden kann? Ich versuchte, die $settings
variable Funktion direkt unterhalb der class My_Class
hinzufügen, aber das hat nicht funktioniert:
class My_Class {
global $settings = get_option('my_options');
# Rest of the code below...