moin,
wie kann man den Zugriff auf Properties im Model beschränken ohne auf Methoden im Model zurück zu greifen z.B. $model->qux
und nicht $model->getQux()
?
Ich möchte Methoden im Model nicht unbedingt verwenden wenn es nur ein paar zusammengehaltende Strings sein sollen.
Meine Lösung:
trait TraitStaticInstance {
public function __set( $property, $value ) : void {};
public function __get( $property ) : void {};
}
class FoobarModel {
use TraitStaticInstance;
public $qux;
public $tuk;
public function __construct ( string $qux, string $tux ) {
$this->qux = $qux;
$this->tux = $tux;
}
}
Output:
$fb = new FoobarModel();
$fb->qux = 'hello world'; // geht leider
$fb->tux = 'hello world'; // geht leider
$fb->hi = 'hello world'; // geht nicht
echo $fb->qux;
echo $fb->tuk;
echo $fb->by; // geht nicht
Etwas bessere habe ich im Internet nicht gesehen 😕. Habt ihr mehr Erfolg???
lgmb