Avatar ·

Erro "Can't use method return value in write context" em PHP: causas e solução

Olá a todos. Sou novo em PHP e me deparei com um erro estranho. Estou escrevendo um script simples para verificar se o usuário tem direitos de administrador. Uso uma função que retorna um objeto de usuário e tento verificar sua property. Aqui está meu código: ```php class User { public $role; public function __construct($role) { $this->role = $role; } } function getUser() { // suponha que o usuário foi encontrado no BD return new User('admin'); } if (getUser()->role = 'admin') { echo 'Você é administrador!'; } else { echo 'Você não tem direitos de administrador.'; } ``` Mas, em vez do resultado esperado, recebo um fatal error: > **Fatal error**: Can't use method return value in write context Por que isso acontece? Parece tudo lógico: eu obtenho o objeto e verifico sua property. O que estou fazendo de errado? Como escrever essa verificação corretamente? Tentei várias opções: coloquei parênteses, mudei a ordem — nada resolve. O erro ocorre mesmo assim.