You are not logged in.

  • Login

1

Monday, July 25th 2011, 11:21pm

Objekt per globaler Variabel an Klassen übergeben

Hallo alle zusammen,

ich arbeite schon seit zwei Tagen an dem gleichen Problem.

Ich habe in PHP eine Klasse die "user" heißt von der wird ein Objekt erstellt. Diese Objekt soll nun in einer globalen Variabelen gespeichert werden und ich will auf diese Variabel von anderen Klassen drauf zugreifen.

Hier mal mein Denkansatz:

PHP Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class User{
 
  public function isOnline(){
    //Gibt True oder False zurück
  }
 
}
 
$user = new User;
 
class Menu{
  private global $user;
  public function main(){
    if($user->isOnline)
      echo "Du bist Online"
    else
      echo "Du bist Offline"
  }
}


Ich bedanke mich für jegdliche Hilfe :-)

2

Tuesday, July 26th 2011, 10:49am

HI,

schön ist das nicht. Zu global gibt es immer eine "bessere" Variante.

Warum nicht den User im Menü setzen ?!

PHP Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
class User{
 
  public function isOnline(){
    //Gibt True oder False zurück
  }
 
}
 
$user = new User;
 
class Menu{
 
  private $user;
 
  public function setUser(User $user) {
  	$this->user = $user;
  }
  public function getUser() {
  	return $this->user;
  }
 
  public function main(){
    if($this->getUser()->isOnline)
      echo "Du bist Online"
    else
      echo "Du bist Offline"
  }
}



edit:
Daes das Userobjekt nur einmal gibt ?! wäre eine andere Möglichkeit wäre es den User als Singleton zu implementieren so, dass du im Menü so auf den User zugreifen kannst.

PHP Quellcode

1
2
3
4
5
6
7
8
class Menu{
  public function main(){
    if(User::getInstance()->isOnline)
      echo "Du bist Online"
    else
      echo "Du bist Offline"
  }
}

3

Tuesday, July 26th 2011, 2:03pm

Also das Porblem ist das ich das Object von User in einer Session speicher und später bei jedem Aufruf laden möchte.

Obwohl da fällt mir ein, ich könnte einfach eine Klassen Funktion schreiben die, die ID aus der Session läd.

Ich porbiere es mal aus und Antworte dann ob es klappt mit Script.

4

Tuesday, July 26th 2011, 2:50pm

Man kann Objekte in Sessions speichern.

Schau dir mal den Abschnitt über die Serialisierung von Objekten an.

Similar threads

Social bookmarks