Erro "Creating default object from empty value" em PHP: causas e correção
Olá a todos! Comecei a estudar PHP recentemente e me deparei com um erro estranho que não consigo entender.
Tenho um código simples onde tento criar um objeto e atribuir uma propriedade a ele imediatamente:
<?php
$user = new stdClass();
$user->name = 'John';
$user->age = 25;
// Depois decidi simplificar e escrevi assim:
$user2->name = 'Jane'; // Aqui está o erro!
?>
Recebo um aviso: "Creating default object from empty value". Antes, em exemplos de estudo, eu via que podia escrever $obj->property = value sem declarar $obj = new stdClass(), e funcionava. Mas agora o PHP reclama. Por que isso acontece?
Entendo que $user2 não está definido, mas o PHP não deveria criar um objeto vazio automaticamente? Em JavaScript, por exemplo, isso funcionaria. Será que estou perdendo algo nas configurações do PHP? Ou depende da versão?
Por favor, me digam como criar objetos corretamente.