Hallo zusammen,
ich möchte aus einem LBS heraus auf eine Klasse in der HcScopes.php zugreifen und dort eine statische Variable/Eigenschaft "static $scopesAdvGs" = array() dieser Klasse "class HcScopes{}" auslesen um den Wert(e) dann im LBS weiter zu verwenden.
Hier die HcScopes.php
Hier ein Teil aus der derzeitigen Lösung der LBS.php (ohne die obere Klasse zu verwenden)
Nun möchte ich die Abfrage der LBS-Variable "$scope" auf eine Lösung mit der oberen Klasse ändern.
Wenn ich nur auf eine Konstante zugreife, dann sollte es so aussehen (wenn ich es richtig verstanden habe):
Da ich aber auf mehrere Konstanten zugreifen muss, packe ich dese in ein Array - statische Variable/Eigenschaft innerhalb der Klasse "HcScopes" z.B.:
Ist das syntaktisch so richtig wenn ich anstatt einer Konstante auf diese statische Variable/Eigenschaft innerhalb der Klasse zugreife ?
Wie immer danke voarb !!
ich möchte aus einem LBS heraus auf eine Klasse in der HcScopes.php zugreifen und dort eine statische Variable/Eigenschaft "static $scopesAdvGs" = array() dieser Klasse "class HcScopes{}" auslesen um den Wert(e) dann im LBS weiter zu verwenden.
Hier die HcScopes.php
PHP-Code:
class HcScopes
{
const SCOPE_APPLIANCE_IDENTIFY = 'IdentifyAppliance';
const SCOPE_MONITOR = 'Monitor';
const SCOPE_CONTROL = 'Control';
const SCOPE_IMAGES = 'Images';
const SCOPE_SETTINGS = 'Settings';
const SCOPE_OVEN = 'Oven';
const SCOPE_OVEN_MONITOR = 'Oven-Monitor';
const SCOPE_OVEN_CONTROL = 'Oven-Control';
const SCOPE_OVEN_SETTINGS = 'Oven-Settings';
const SCOPE_WASHER = 'Washer';
const SCOPE_WASHER_MONITOR = 'Washer-Monitor';
const SCOPE_WASHER_CONTROL = 'Washer-Control';
const SCOPE_WASHER_SETTINGS = 'Washer-Settings';
const SCOPE_DRYER = 'Dryer';
const SCOPE_DRYER_MONITOR = 'Dryer-Monitor';
const SCOPE_DRYER_CONTROL = 'Dryer-Control';
const SCOPE_DRYER_SETTINGS = 'Dryer-Settings';
const SCOPE_DISHWASHER = 'Dishwasher';
const SCOPE_DISHWASHER_MONITOR = 'Dishwasher-Monitor';
const SCOPE_DISHWASHER_CONTROL = 'Dishwasher-Control';
const SCOPE_DISHWASHER_SETTINGS = 'Dishwasher-Settings';
const SCOPE_FRIDGEFREEZER = 'FridgeFreezer';
const SCOPE_FRIDGEFREEZER_MONITOR = 'FridgeFreezer-Monitor';
const SCOPE_FRIDGEFREEZER_SETTINGS = 'FridgeFreezer-Settings';
const SCOPE_FRIDGEFREEZER_IMAGES = 'FridgeFreezer-Images';
const SCOPE_COFFEEMAKER = 'CoffeeMaker';
const SCOPE_COFFEEMAKER_MONITOR = 'CoffeeMaker-Monitor';
const SCOPE_COFFEEMAKER_CONTROL = 'CoffeeMaker-Control';
const SCOPE_COFFEEMAKER_SETTINGS = 'CoffeeMaker-Settings';
// SCOPES für das ADVANCED-Konto:
static $scopesAdvBo = array(HcScopes::SCOPE_APPLIANCE_IDENTIFY, HcScopes::SCOPE_OVEN_MONITOR, HcScopes::SCOPE_OVEN_SETTINGS);
static $scopesAdvTr = array(HcScopes::SCOPE_APPLIANCE_IDENTIFY, HcScopes::SCOPE_DRYER, HcScopes::SCOPE_DRYER_MONITOR, HcScopes::SCOPE_DRYER_CONTROL, HcScopes::SCOPE_DRYER_SETTINGS);
static $scopesAdvWm = array(HcScopes::SCOPE_APPLIANCE_IDENTIFY, HcScopes::SCOPE_WASHER, HcScopes::SCOPE_WASHER_MONITOR, HcScopes::SCOPE_WASHER_CONTROL, HcScopes::SCOPE_WASHER_SETTINGS);
static $scopesAdvGs = array(HcScopes::SCOPE_APPLIANCE_IDENTIFY, HcScopes::SCOPE_DISHWASHER, HcScopes::SCOPE_DISHWASHER_MONITOR, HcScopes::SCOPE_DISHWASHER_CONTROL, HcScopes::SCOPE_DISHWASHER_SETTINGS);
static $scopesAdvCo = array(HcScopes::SCOPE_APPLIANCE_IDENTIFY, HcScopes::SCOPE_COFFEEMAKER, HcScopes::SCOPE_COFFEEMAKER_MONITOR, HcScopes::SCOPE_COFFEEMAKER_CONTROL, HcScopes::SCOPE_COFFEEMAKER_SETTINGS);
static $scopesAdvFr = array(HcScopes::SCOPE_APPLIANCE_IDENTIFY, HcScopes::SCOPE_FRIDGEFREEZER_MONITOR, HcScopes::SCOPE_FRIDGEFREEZER_SETTINGS);
}
Hier ein Teil aus der derzeitigen Lösung der LBS.php (ohne die obere Klasse zu verwenden)
PHP-Code:
$subclass = $E[1]['value'];
if ($subclass == 'Gs') {
$scope = 'IdentifyAppliance Dishwasher Dishwasher-Monitor Dishwasher-Control Dishwasher-Settings';
}
elseif ($subclass == 'Tr') {
$scope = 'IdentifyAppliance Dryer Dryer-Monitor Dryer-Control Dryer-Settings';
}
elseif ($subclass == 'Wm') {
$scope = 'IdentifyAppliance Washer Washer-Monitor Washer-Control Washer-Settings';
}
elseif ($subclass == 'Bo') {
$scope = 'IdentifyAppliance Oven-Monitor Oven-Settings';
}
elseif ($subclass == 'Co') {
$scope = 'IdentifyAppliance CoffeeMaker CoffeeMaker-Monitor CoffeeMaker-Control CoffeeMaker-Settings';
}
else ($subclass == 'Fr') {
$scope = 'IdentifyAppliance FridgeFreezer-Monitor FridgeFreezer-Settings';
}
Nun möchte ich die Abfrage der LBS-Variable "$scope" auf eine Lösung mit der oberen Klasse ändern.
Wenn ich nur auf eine Konstante zugreife, dann sollte es so aussehen (wenn ich es richtig verstanden habe):
PHP-Code:
$scope = Home-Connect\Common\HcScopes::SCOPE_APPLIANCE_IDENTIFY;
Da ich aber auf mehrere Konstanten zugreifen muss, packe ich dese in ein Array - statische Variable/Eigenschaft innerhalb der Klasse "HcScopes" z.B.:
PHP-Code:
static $scopesAdvGs = array(HcScopes::SCOPE_APPLIANCE_IDENTIFY, HcScopes::SCOPE_DISHWASHER, HcScopes::SCOPE_DISHWASHER_MONITOR, HcScopes::SCOPE_DISHWASHER_CONTROL, HcScopes::SCOPE_DISHWASHER_SETTINGS);
Ist das syntaktisch so richtig wenn ich anstatt einer Konstante auf diese statische Variable/Eigenschaft innerhalb der Klasse zugreife ?

PHP-Code:
$scope = Home-Connect\Common\HcScopes::$scopesAdvGs;
Wie immer danke voarb !!
