Anonyme Objekte in PHP erstellen

In PHP können anonyme Objekte mit der Syntax "new class" erstellt werden. Beispiel:

<?php
$obj = new class {
  public $property = 'value';

  public function method()
  {
    return 'Hello, world!';
  }
};

echo $obj->property . "\n";
echo $obj->method() . "\n";

Dies erstellt eine anonyme Klasse mit einer öffentlichen Eigenschaft $property und einer öffentlichen Methode method(). Die Klasse wird dann instanziiert und der Variablen $obj zugewiesen.

Alternativ können anonyme Klassen auch mit Closures erstellt werden, zum Beispiel:

<?php
$factory = function () {
  return new class {
    public $property = 'value';

    public function method()
    {
      return 'Hello, world!';
    }
  };
};

$obj = $factory();

echo $obj->property . "\n";
echo $obj->method() . "\n";

Beide Beispiele erstellen eine anonyme Klasse und instanzieren sie, Sie können das Objekt wie jedes andere Objekt verwenden.

Bitte beachten Sie, dass anonyme Klassen nur in PHP 7.0 und höheren Versionen verfügbar sind.