Avatar ·

Fehler "Can't use method return value in write context" in PHP: Ursachen und Lösung

Hallo zusammen. Ich bin neu in PHP und bin auf einen seltsamen Fehler gestoßen. Ich schreibe ein einfaches Skript, um zu überprüfen, ob ein Benutzer Administratorrechte hat. Ich verwende eine Funktion, die ein Benutzerobjekt zurückgibt, und versuche, dessen Eigenschaft zu überprüfen. Hier ist mein Code: ```php class User { public $role; public function __construct($role) { $this->role = $role; } } function getUser() { // Angenommen, der Benutzer wurde in der DB gefunden return new User('admin'); } if (getUser()->role = 'admin') { echo 'Sie sind Administrator!'; } else { echo 'Sie haben keine Administratorrechte.'; } ``` Aber anstatt des erwarteten Ergebnisses erhalte ich einen fatalen Fehler: > **Fatal error**: Can't use method return value in write context Warum passiert das? Es scheint doch logisch: Ich erhalte ein Objekt und überprüfe seine Eigenschaft. Was mache ich falsch? Wie schreibe ich eine solche Überprüfung richtig? Ich habe verschiedene Varianten ausprobiert: Klammern gesetzt, die Reihenfolge geändert – nichts hilft. Der Fehler tritt immer auf.