Hi!
new Class()->method()
kennt jemand eine möglichkeit über eine ähnliche konstruktion direkt auf die methoden des neu erstellten objektes zugreifen zu können?
Nein.
Wenn du auf eine Methode zugreifen willst, mußt du zuerst ein Objekt instantiieren.
Es sei denn, es handelt sich um eine statische Methode.
Du kannst auf statische Methoden zugreifen, ohne daß es ein Objekt dieser Klasse gibt.
class Klasse
{
// statische Methode
public static function statischeMethode()
{
echo 'Statische Methode aufgerufen.';
}
}
echo Klasse::statischeMethode();
Auf die gleiche Art und Weise kannst du auch auf statische Eigenschaften mit dem ::-Operator zugreifen.
Diese werden, wie auch die Methoden, mit dem Schlüsselwort static deklariert.
es geht mir darum eine variable für dieses objekts zu vermeiden
Warum?
und auch codereduzierung.
Das:
$foo = new bar();
$foo->method();
ist dir zuviel Code?
Naja, wie auch immer:
Du suchst scheinbar nur nach einer Kurzschreibweise, die es nicht gibt.
Der Einsatz von statischen Methoden/Eigenschaften wird dein Problem nicht lösen.
Schöner Gruß,
rob