Erreur "Can't use method return value in write context" en PHP : causes et solution
Bonjour à tous. Je suis débutant en PHP et j'ai rencontré une erreur étrange. J'écris un script simple pour vérifier si un utilisateur a les droits d'administrateur. J'utilise une fonction qui retourne un objet utilisateur, et j'essaie de vérifier sa propriété.
Voici mon code :
```php
class User {
public $role;
public function __construct($role) {
$this->role = $role;
}
}
function getUser() {
// supposons que l'utilisateur est trouvé en BDD
return new User('admin');
}
if (getUser()->role = 'admin') {
echo 'Vous êtes administrateur !';
} else {
echo 'Vous n\'avez pas les droits d\'administrateur.';
}
```
Mais au lieu du résultat attendu, j'obtiens une erreur fatale :
> **Fatal error**: Can't use method return value in write context
Pourquoi cela se produit-il ? Apparemment tout est logique : j'obtiens