Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML]Rozkład strony
Forum PHP.pl > Forum > Przedszkole
Malvegil100
Witam,

mam pewne pytanko.

Otóż robie stronke która opiera się o jeden plik (index.php). To znaczy, gdziekolwiek by użytkownik nie wszedł zawsze plikiem głownym jest owy index.php

Przykład

index.php - strona głowna

index.php?pokaz=rejestracja - rejestracja strony

index.php?pokaz=artykul&id=1 - artykuł o id 1



No i mam pytanie

Czy ten sposób jest wydajny? Czy np. przy wiekszej ilosci uzytkownikow naraz strona bedzie obciazona?



Fifi209
Właśnie tak się robi, a co do obciążenia zależy co wykonujesz w tym pliku - operacje na db etc?

Użyj cache jeżeli obciążenie jest za duże.
kfc4
Jest coś takiego jak $_SERVER['PATH_INFO']; Dzięki temu możesz zrobić coś takiego:
Cytat

I ładować odpowiednią klasę oraz metodę, ew. funkcję z pliku. Nie ma co upychać wszystkiego do indexu, lepiej podzielić.
Fifi209
Cytat(kfc4 @ 10.08.2009, 19:24:58 ) *
Jest coś takiego jak $_SERVER['PATH_INFO']; Dzięki temu możesz zrobić coś takiego:

I ładować odpowiednią klasę oraz metodę, ew. funkcję z pliku. Nie ma co upychać wszystkiego do indexu, lepiej podzielić.


Jest coś takiego jak RewriteEngine smile.gif
I tak wszystko przechodzi przez kontroler, który znajduje się w index. Według tego wywoływane są akcje i na końcu tworzony jest widok.
kfc4
Tak, jest, ale nie zawsze jest do niego dostęp.
Fifi209
Cytat(kfc4 @ 10.08.2009, 19:30:29 ) *
Tak, jest, ale nie zawsze jest do niego dostęp.

Nie będziemy teraz zgadywali czy ma on dostęp czy nie. Z pewnością się dowiemy w swoim czasie.

"ładować odpowiednią klasę oraz metodę" - A przypadkiem metody nie są w klasie? snitch.gif
W ogóle polecam lekturę dot. wzorca MVC.
kfc4
Tak, metody są w klasie i żeby wszystko było ok to trzeba załadować i klasę i wywołać jakąś metodę.

Teraz kończymy bo dostaniemy po ostrzeżeniu albo po jakimś banie czasowym.
Fifi209
Cytat(kfc4 @ 10.08.2009, 19:37:43 ) *
Tak, metody są w klasie i żeby wszystko było ok to trzeba załadować i klasę i wywołać jakąś metodę.


Jesteś dobry jeżeli u Ciebie jedna metoda robi wszystko, ja do tego muszę mieć kontroler i model... No ale cóż...

Cytat(kfc4 @ 10.08.2009, 19:37:43 ) *
Teraz kończymy bo dostaniemy po ostrzeżeniu albo po jakimś banie czasowym.

Nie wiem dlaczego mamy kończyć dyskusję, która jest na temat. Poza tym forum jest od prowadzenia dyskusji.
kfc4
No ja też mam i kontrolery i modele i widoki i pomocniki i nawet jedno wywołanie strony wykonuje jeden kontroler i 1-3 modele oraz kilka widoków i ze 2 pomocniki. Używam Kohany, ale próbowałem napisać kiedyś swojego framworka - został uznany za zbyt nieoptymalny i porzucony.
Malvegil100
U mnie jak do tej pory wygladalo to tak:



Uzytkownik logujac sie wchodzi na index.php.

Wybierajac inny dzial powiedzmy "Kontakt" klika na index.php?pokaz=kontakt.



W dziale srodkowym w pliku jest zmienna $strona.

Teraz gdy uzytkownik chce wejsc do kontakt sprawdzany jest warunek $_GET['pokaz'] w pliku exe.php. Wyglada to tak:



  1.  
  2. switch ($pokaz) {
  3.  
  4. case "armor_sets":
  5.   $strona = "../settings/funkcje_en/pokaz_sety.php";
  6.   $page = "armor sets";
  7.   $title = "panel administracyjny";
  8.   break;
  9. case "droplist":
  10.   $strona = "../settings/funkcje_en/droplist.php";
  11.   $page = "droplist";
  12.   $title = "panel administracyjny";
  13.   break;
  14.  
  15. }
  16.  
  17.  
 

(to tylko czesc pliku)

Myslałem żeby zamiast osobnego pliku wrzucic to do tabeli ale nie jestem pewny. Poradzcie mi - czy wydajnie byloby to trzymać w pliku czy w tabeli.
kfc4
IMHO w bazie jest lepiej.
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.