Avatar ·

Error "Can't use method return value in write context" en PHP: causas y solución

Hola a todos. Soy nuevo en PHP y me encontré con un error extraño. Estoy escribiendo un script simple para verificar si un usuario tiene permisos de administrador. Uso una función que devuelve un objeto de usuario e intento verificar su propiedad. Aquí está mi código: ```php class User { public $role; public function __construct($role) { $this->role = $role; } } function getUser() { // supongamos que el usuario se encuentra en la BD return new User('admin'); } if (getUser()->role = 'admin') { echo '¡Eres administrador!'; } else { echo 'No tienes permisos de administrador.'; } ``` Pero en lugar del resultado esperado, obtengo un error fatal: > **Fatal error**: Can't use method return value in write context ¿Por qué ocurre esto? Parece lógico: obtengo un objeto y verifico su propiedad. ¿Qué estoy haciendo mal? ¿Cómo escribir correctamente esta verificación? He probado diferentes variantes: puse paréntesis, cambié el orden, nada ayuda. El error ocurre exactamente