So erstellen Sie dynamisch neue Eigenschaften

In PHP kannst du eine neue Eigenschaft für ein Objekt dynamisch erstellen, indem du die magische Methode __set verwendest.

Hier ist ein Beispiel:

<?php

class MyClass
{
  public function __set($name, $value)
  {
    $this->$name = $value;
  }
}

$obj = new MyClass();
$obj->newProperty = "Hello World";
echo $obj->newProperty; // Outputs: "Hello World"

In diesem Beispiel wird die Methode __set verwendet, um eine neue Eigenschaft auf dem $obj-Objekt mit dem Namen newProperty und dem Wert "Hallo Welt" zu erstellen. Der Wert der neuen Eigenschaft kann mit dem Eigenschaftsnamen aufgerufen werden ($obj->newProperty).

Man kann auch Variablenvariablen verwenden um Werte von Eigenschaften zuzuweisen, deren Namen in Variablen gespeichert sind.

<?php

class MyClass
{
  public function __set($name, $value)
  {
    $this->$name = $value;
  }
}

$obj = new MyClass();
$propertyName = 'newProperty2';
$obj->$propertyName = "Hello World";
echo $obj->$propertyName;

Es ist wichtig zu beachten, dass die __set Methode aufgerufen wird, wenn man versucht auf eine Eigenschaft zuzugreifen, die nicht existiert, so dass man diese Methode nutzen kann um sicherzustellen, dass die Eigenschaft erstellt wird, falls sie noch nicht existiert.