Vi que tem dois tópicos aqui no fórum com esse erro que não tiveram resposta, mas estão fechados.
Se o seu constructor está seguindo essa estrutura:
class User
{
private $name;
private $surname;
public function __construct (string $str)
{
$fullName = explode(" ", $str, 2);
$this->name = $fullName[0];
$this->surname = $fullName[1];
}
public function getName (): string
{
return $this->name;
}
public function getSurname(): string
{
return $this->surname;
}
}
E mesmo assim está aparecendo a mensagem dizendo que getName retornou NULL, verifique se a função construct foi escrito com dois _ (underscore) antes do nome, essa forma: __construct ()
. É muito comum esquecer de digitar dois _ e quando fazemos isso, a função construtora não é iniciada, por isso as variáveis retornam NULL, por que depois de serem declaradas, não foram iniciadas com nenhum valor.