Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> logowanie sesje i bazy danych obiektowo, Gdzie trzymac dane: obiekcie,bazie,sesji
JohnySpot
post 26.05.2005, 09:39:41
Post #1





Grupa: Zarejestrowani
Postów: 106
Pomógł: 0
Dołączył: 9.09.2003
Skąd: Włocławek

Ostrzeżenie: (0%)
-----


1) Jeżeli 3mam dane o userze i mam na stronie bazę userów, księgi gości (gdzie mogą wpisywać się goście) i forum tylko dla zalogowanych użytkowników. Każdy user ma swoje ID. Czy w księdze gości i w forum trzymać tylko treść i tytuł ew. datę utworzenia i dane o userach pobierać kolejnym zapytaniem z bazy danych o użytkownikach, czy zapisywać te dane jeszcze raz (nick, mail, etc...) ? W bazie danych księgi gości i forum ?

2) Zastanawiałem się nad obiektem "user". Miałby na bank metody typu: dodaj, usuń, uaktualnij etc... ale tego typu metody mają sens tylko z punktu "rejestracji" i administracji użytkownikami. Są kompletnie nie potrzebne po zalogowaniu usera... I teraz mam pytanie. Rozumiem, że obiekt to coś co ma się dowoływać np. do użytkownika posiadać jakieś właściwości i metody. Z jednej strony jest przydatny adminowi (utwórz, dodaj, sprawdź, szukaj, usuń etcc..... ) z drugiej jego właściwości (mail, nick, ostatnie logowanie, ID etc... ) użytkownikowi , który się zaloguje. Mu natomiast kompletnie nie jest potrzebne to co Adminowi. Wynika z tego, że to co jest potrzebne userowi wcale nie musi dotyczyć klasy, wręcz przeciwnie to co tyczy się klasy z "userem" jako takim nie ma nic wspólnego, bo jest to TYLKO zbiór jakiś zmiennych. I teraz pytanie. Skoro dane te mam w bazie danych to co jest najlepsze. Tworzyć klasę która podczas logowania tworzy się szuka odpowiednich danych , nadaje sobie właściwości usera (nick, avatar .... ) i trzyma je przez cały czas, zarejestrować WSZYSTKO jako sesje i trzymać e-mail i inne informacje jako sesje, czy też może pobierać wszystko za każdym razem z bazy danych ?

3) Rozumiem, że includowanie nie jest chyba złym pomysłem jeżeli chodzi o obsługę strony... Mam dwa pytania. 1) Widziałem kiedyś, stronę na której gość całą treść ładował do zmiennej a potem jendnych "echo" ją wyświetlał. Miało to sens w jego zastsowaniu i działało bezbłędnie. Jak to z tym właściwie jest ? I drugie. Czy jak
includuje stronę w zależności od GET np.

  1. <?php
  2. $_GET['dzial'].='.php';
  3. include($_GET['dzial']);
  4. ?>


itp... to czy wszystkie formularze (do rejstracji zmiany hasła etc... ) mam projektować w konkretnych plikach strukturalnie... ich obsługę i wyświetlanie, czy władować do klasy mnustwo funkcji, które będą projektowały formularz i wyświetały go robiąc np.

  1. <?php(klasa)
  2. [...]
  3. function pokaz_form_haslo() {
  4. $tresc='[...]';
  5. return $tresc;
  6. }
  7.  
  8. (plik wlasciwy)
  9. [...]
  10. echo $cos_tam->pokaz_form_haslo();
  11. [...]
  12. ?>


Czy może właśnie robić te fragmenty strukturalnie... ?

4) Jeżeli dalej rozpatrywać klasę użytkownika...to mógłby mieć kilka właściwości np: pokaż avatar, dodaj news, dodaj wpis, dodaj wątek.... i w sumie wyszła by z tego super universalna klaa... a jak wiadomo można stworzyć klasę "news", "post", "forum" czy rózne inne... jak podzielić w zwizu z tym "możliwości usera" na "inne klasy innych elemtów strony"


--------------------
Go to the top of the page
+Quote Post
Ociu
post 26.05.2005, 11:04:55
Post #2





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




Formularze: Ja tworzę sobie fukcję (to [string], input [int](0), input_data [array] (null), textarea [int](0), textarea_data [array](null)). Chyba nie musze tłumaczyć jak co i gdzie.
4. Utwórz sobie klasę permission (dostęp)
Go to the top of the page
+Quote Post
JohnySpot
post 26.05.2005, 11:21:28
Post #3





Grupa: Zarejestrowani
Postów: 106
Pomógł: 0
Dołączył: 9.09.2003
Skąd: Włocławek

Ostrzeżenie: (0%)
-----


Mam jeszcze jedno pytanie... kiedy includuje strony, chciałbym aby cała "otoczka", która pozostaje stała nie wgrywała się jeszcze raz. Jak to uzyskać ? Za każdym razem ładuje mi się ponownie cała strona.


--------------------
Go to the top of the page
+Quote Post
ebe
post 26.05.2005, 12:32:01
Post #4





Grupa: Zarejestrowani
Postów: 150
Pomógł: 1
Dołączył: 23.01.2004

Ostrzeżenie: (0%)
-----


Cytat
Mam jeszcze jedno pytanie... kiedy includuje strony, chciałbym aby cała "otoczka", która pozostaje stała nie wgrywała się jeszcze raz. Jak to uzyskać ? Za każdym razem ładuje mi się ponownie cała strona.


W tym celu możesz wykorzystać AJAXA. W czystym php strona się będzie zawsze przeładowywała bo działa po stronie serwera.

Cytat
Jeżeli dalej rozpatrywać klasę użytkownika...to mógłby mieć kilka właściwości np: pokaż avatar, dodaj news, dodaj wpis, dodaj wątek.... i w sumie wyszła by z tego super universalna klaa... a jak wiadomo można stworzyć klasę "news", "post", "forum" czy rózne inne... jak podzielić w zwizu z tym "możliwości usera" na "inne klasy innych elemtów strony"


Dawanie metod klasie uzytkownika metod: dodaj news, dodaj wpis, dodaj wątek jest bezsensowana, nieprawidłowa i idiotyczna. W klasie news masz metodę dodajNews() która dodaje newsa jeśli chcesz aby news miał autora to w klasie news dajesz metodę setAuthor(Member $member) która sprawi że autorem tego newsa będzie $member klasy Member. Wszystko to robisz w akcji.

Ten post edytował ebe 26.05.2005, 12:35:11


--------------------
Słyszałem, że macie tutaj jakieś takie php... fajne to, dobre to jest?
Go to the top of the page
+Quote Post
JohnySpot
post 27.05.2005, 06:49:18
Post #5





Grupa: Zarejestrowani
Postów: 106
Pomógł: 0
Dołączył: 9.09.2003
Skąd: Włocławek

Ostrzeżenie: (0%)
-----


1) Wracając do pytania, do którego nikt mi jeszcze nie udzilelił odpowiedzi. Co jest bardziej opłacalne. Wczytać wszystkie dane z bazy do sesji i je trzymać aby zrezygnować z odwołań do bazy przy pobieraniu danych usera ?

2) Wpisywać wszystkie dane do każdej bazy, czy wykonywać dwa zapytania. Np. tylko do forum, a potem do bazy użytkowników ?


--------------------
Go to the top of the page
+Quote Post
Ociu
post 29.05.2005, 11:13:00
Post #6





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




Cytat
1) Wracając do pytania, do którego nikt mi jeszcze nie udzilelił odpowiedzi. Co jest bardziej opłacalne. Wczytać wszystkie dane z bazy do sesji i je trzymać aby zrezygnować z odwołań do bazy przy pobieraniu danych usera ?

a) z sesji php'owych ? sesja najczęściej ginie, gdy zamkniesz okno przeglądarki, czyli tak czy inaczej musisz je za drugim razekm pobrać
cool.gif z sesji w bazie ? Możesz to robić tworząc np. tablicę session (public $session = array()) i do niej wrzucać wszelkie dane, tylko wtedy nie ma ich, a są Ci potrzebne.
Niedawno seaquest podpowiedział mi, że można zrobić $Obiekt['var']; a wszystko to gdy nazwa klasy jest taka sama, jak tej tablicy i masz takie coś:
  1. <?php
  2. class session extends ArrayObject implements ArrayAccess
  3. ?>
IMHO, przykład b jest lepsiejszy.

Cytat
2) Wpisywać wszystkie dane do każdej bazy, czy wykonywać dwa zapytania. Np. tylko do forum, a potem do bazy użytkowników ?
IMHO sposób drugi.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 12.06.2025 - 15:18