Код переписан абсолютно неверно.
Конструктор - это не просто вызов функции. В результате его работы создаётся и инициализируется экземпляр класса.
Деструктор может выполнять действия, связанные с удалением экземпляра, например освобождение памяти, закрытие файлов, освобождение дескрипторов и т.д.
Переписать ООП в процедурный код можно примерно так:
spoilerfunction createUser(): object
{
return (object)[
'name' => 'Bankai',
'age' => 40,
];
}
function showUser(object $user): void
{
printf('%s : %s<br>', $user->name, $user->age);
}
function clearUser(object &$user): void
{
echo "Деструктор";
$user = null;
}
$user = createUser();
showUser($user);
clearUser($user);
unset($user);