• Diese Seite verwendet Cookies. Indem du diese Website weiterhin nutzt, erklärst du dich mit der Verwendung von Cookies einverstanden. Erfahre mehr

PHP7.4: Probleme mit Klassen und privaten Variablen

Themenstarter #1
Hallo PHP-Spezialisten,

in PHP 7.4 habe ich folgende Klasse definiert:
Code:
class User {
   private $userid;
   private $dbh = null;
   function __construct($dbh) {
       if (isset($dbh))
           $this->dbh = $dbh;
       $this->userid = "";
   }
   function login($userid, $passwd) {
      $this->userid = $userid;
   }
   function getUserID() {
      return $this->userid;
   }
};

$user = new User($dbh);
$user->login("foo", "bar");
echo $user->getUserID();
Dieses echo $user->getUserID() gibt keinen Text aus.
Ich setze in der Methode $user->login die private Variable $this->userid auf "foo". Damit sollte doch mit der Methode $user->getUserID() "foo" ausgegeben werden. Wird es aber nicht... warum?

Beste Grüße Jürgen
 
#2
Gute Frage. Ich habe auf meinem Server nur PHP 7.3.15 laufen und dort wird "foo" ausgegeben. 7.4 kann ich leider nicht so ohne weiteres auf die Schnelle testen.
 
Themenstarter #3
Moin zusammen,

arrrgl. Ich bin ein Esel. Die Klasse funtioniert vollkommen korrekt. Ich hatte nicht bedacht, dass das Skript nach dem Login - dafür ist das Objekt gedacht - neu aufgerufen wird und so die privaten Daten einfach nur weg sind.
Entschuldigung für das Rauschen.

Jürgen