Ankündigung

Einklappen
Keine Ankündigung bisher.

statische Variable / Eigenschaft in einer KLASSE mit LBS auslesen | PHP

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    statische Variable / Eigenschaft in einer KLASSE mit LBS auslesen | PHP

    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
    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 !!
    Zuletzt geändert von coliflower; 11.11.2016, 16:14.
    Danke und LG, Dariusz
    GIRA | ENERTEX | MDT | MEANWELL | 24VDC LED | iBEMI | EDOMI | ETS5 | DS214+ | KNX/RS232-GW-ROTEL
Lädt...
X