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_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