Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Logowanie
Forum PHP.pl > Forum > PHP
user_php.pl
Mam takie pytanie teoretyczne. Chcę zrobić logowanie posługując się klasą User
  1. class User {
  2. function logowanie() {}
  3. }

Kod, który będzie odpowiedzialny za logowanie, będzie wyglądał tak:
  1. $user = new User();
  2. $user->logowanie();


I moje pytanie jest takie: Czy nie będzie żadnego problemu jeśli każda instancja tworzona przy logowaniu będzie nazywała się $user? Nie będą się nadpisywać? Czy nie będzie żadnego konfliktu jeśli każda zalogowana osoba będzie przypisana do zmiennej $user?
nospor
No a jak masz zmienną:

$zm = $_GET['costam'];
To ona dla kazdego usera się nadpisuje?
smile.gif
user_php.pl
Czyli muszę wygenerować sobie unikatową zmienną, np:
  1. $variable = uniqid(rand());
  2. $$user = $variable;
  3. $user = new User(); //tutaj coś jest chyba nie tak?


Jest możliwość sprawdzenia jaką nazwę ma zmienna?
nospor
Cytat
Czyli muszę wygenerować sobie unikatową zmienną
Skad ten wniosek?
Nie, wszystko jest wporządku - taki miales wniosek wyciągnąć.
user_php.pl
Ja to widzę tak:
  1. $user = new User(); // tworzona jest nowa instancja klasy, która jest alokowana w pamięci
  2. $user = new User(); // tworzona jest nowa instancja klasy, która jest alokowana w pamięci. Ale, ponieważ zmienna $user już jest w pamięci, zostaje ona nadpisana

nospor
No ale przecież $user tworzysz dla różnych logowan przy roznych żądaniach do serwera a nie w tym samym czasie w tym samym żądaniu do serwera, tak?
marcio
Poprostu on nie rozumiem jak dziala http, dla kazdego user'a jest tak jakby osobny proces o ile sie nie myle, tak?
Mniej wiecej, wtedy kazdy user ma tak jakby wlasna "pamiec", wiec kazde zadanie tworzy nowy inny obiekt
user_php.pl
No właśnie, przerobiłem trochę materiału, ale nigdzie nikt nie wspomniał o problemie alokacji pamięci, w sensie, jak to w php jest rozwiązane.
Tak czy siak, rozjaśniliście mi trochę to zagadnienie smile.gif

To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.