Ankündigung

Einklappen

Serverwartung 21.2.



Am 21.2. im Laufe des späten Abends wird eine Serverwartung durchgeführt. Das Forum ist dadurch für gut zwei Stunden nicht erreichbar.
Es wird eine Wartungsseite geschaltet.

Mehr anzeigen
Weniger anzeigen

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_IDENTIFYHcScopes::SCOPE_OVEN_MONITORHcScopes::SCOPE_OVEN_SETTINGS);
        static 
    $scopesAdvTr = array(HcScopes::SCOPE_APPLIANCE_IDENTIFYHcScopes::SCOPE_DRYERHcScopes::SCOPE_DRYER_MONITORHcScopes::SCOPE_DRYER_CONTROLHcScopes::SCOPE_DRYER_SETTINGS);
        static 
    $scopesAdvWm = array(HcScopes::SCOPE_APPLIANCE_IDENTIFYHcScopes::SCOPE_WASHERHcScopes::SCOPE_WASHER_MONITORHcScopes::SCOPE_WASHER_CONTROLHcScopes::SCOPE_WASHER_SETTINGS);
        static 
    $scopesAdvGs = array(HcScopes::SCOPE_APPLIANCE_IDENTIFYHcScopes::SCOPE_DISHWASHERHcScopes::SCOPE_DISHWASHER_MONITORHcScopes::SCOPE_DISHWASHER_CONTROLHcScopes::SCOPE_DISHWASHER_SETTINGS);
        static 
    $scopesAdvCo = array(HcScopes::SCOPE_APPLIANCE_IDENTIFYHcScopes::SCOPE_COFFEEMAKERHcScopes::SCOPE_COFFEEMAKER_MONITORHcScopes::SCOPE_COFFEEMAKER_CONTROLHcScopes::SCOPE_COFFEEMAKER_SETTINGS);
        static 
    $scopesAdvFr = array(HcScopes::SCOPE_APPLIANCE_IDENTIFYHcScopes::SCOPE_FRIDGEFREEZER_MONITORHcScopes::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_IDENTIFYHcScopes::SCOPE_DISHWASHERHcScopes::SCOPE_DISHWASHER_MONITORHcScopes::SCOPE_DISHWASHER_CONTROLHcScopes::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