dedlfix: assoziative Werte mit __set() und Index in numerisches array einfügen?

Beitrag lesen

Tach!

Ok. Meine Intension ist,

Intention mit t. Intens... wäre ein Fall für intensiv.

Zugriff auf ein public Property eines Objektes zu haben, welches von der programmlogik nicht oder bedingt verändert werden darf.

Das ist nun schon wieder was anderes. Nun ist es nur noch ein einfacher Getter/Setter als Kapselung des Zugriffs auf private Eigenschaften, und ohne Array. Was möchtest du wirklich?

    public function __set( string $property, $value ) {
        if( $property === 'fuz' and is_string( $value ) ) { 
            $this->fuz = $value;
        }
        if( $property === 'baz' and is_array( $value ) ) { 
            $this->baz = $value;
        }
    }
}

DRY (don't repeat yourself) statt WET (write everything twice). Wenn noch 13 solcher Eingeschaften hinzukommen, schreibst du 15 mal dasselbe nur mit anderem Variablennamen? Prüf den Namen gegen eine einfach erweiterbare Liste, beispielsweise mit in_array(). Die Prüfung von $value und das Zuweisen geht dann als einmal geschriebener Code.

dedlfix.