echo $begrüßung;
Ich nehme an, es handelt sich um PHP 5. Welche Version ist es genau? (Diese Information wäre nur zum Nachvollziehen von Problem hilfreich, wenn meine nachfolgende Erklärung noch nicht reicht.)
$login = clone($_SESSION['login_object']); // klappt hervorragend und hat die erwünschte wirkung (alle attribute von $_SESSION['login_object'] werden in $login kopiert.
clone ist keine Funktion sondern ein Schlüsselwort, das allein steht. Die Klammern bewirken bei dir nur, dass die Variable $_SESSION['login_object'] zu einem Ausdruck wird.
class Login()
public function __construct()
return clone($_SESSION['login_object']);
Konstruktoren geben unter PHP 5 nur Objekte der jeweiligen Klasse zurück. Unter PHP 4 war es noch möglich etwas ganz anderes zurückzugeben.
$login = new Login();
// in diesem Fall ist $login zwar eine ganz normale Instanz der Klasse Login, aber die Attribute von $_SESSION['login_object'] wurden nicht übernommen. Wie bekomme ich das hin?
Verwende entweder das Factory- oder das Singleton-Pattern.
echo "$verabschiedung $name";