![]() |
![]() ![]() |
![]() |
![]()
Post
#21
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 4.02.2004 Ostrzeżenie: (0%) ![]() ![]() |
@ghostrider:
Cytat jesli mamy do czynienia z serwisem ktory ma wytrzymac 5 hitow na sekunde to puszczanie wszystkiego przez index.php przysporzy nie lada problemow. Nawet jeśli by tak było, to przecież w tych osobnych plikach i tak będzie prawodpodobnie include'owany/require'owany jakiś inny plik, wspólny dla wszystkich "podstron", nie? Tak więc będziemy np. mieć plik_odpowiedzialny_za_rejestracje.php jakis_tam_inny.php ..to i tak każdy plik z osobna będzie wywoływał np. 'header.php', więc ten 'header.php' też będzie miał 5 hitów/sek. Poza tym w takich sytuacjach powinno się pomyśleć o jakimś cache'owaniu (i przy okazji: przy cacheowaniu nie jest problemem, że index.php jest wywoływany tak często..) Ten post edytował qbuz 8.01.2006, 18:43:09 |
|
|
![]()
Post
#22
|
|
![]() Grupa: Zarejestrowani Postów: 449 Pomógł: 0 Dołączył: 26.05.2004 Skąd: Nowy Sącz Ostrzeżenie: (0%) ![]() ![]() |
Cytat(ghostrider @ 2006-01-08 19:16:05) parser php jest dwu biegowy: A więc includuje i otwiera te pliki z ktorych kod nawet nie zostanie przetworzony?najpierw przeglada caly kod, potem go wykonuje Chce wiedziec (na przykładzie mojego kodu powyzej) jezeli $_GET['id']=0 to czy praser zaladuje do pamieci plik: "plik1.php" i inne pozostałe includowane pliki, z ktorych kod nie bedzie przetwarzany w momenie wywolania tej strony? -------------------- |
|
|
![]()
Post
#23
|
|
![]() Grupa: Zarejestrowani Postów: 853 Pomógł: 25 Dołączył: 27.08.2003 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Cytat(yavaho @ 2006-01-08 18:55:43) Cytat(ghostrider @ 2006-01-08 19:16:05) parser php jest dwu biegowy: A więc includuje i otwiera te pliki z ktorych kod nawet nie zostanie przetworzony?najpierw przeglada caly kod, potem go wykonuje Chce wiedziec (na przykładzie mojego kodu powyzej) jezeli $_GET['id']=0 to czy praser zaladuje do pamieci plik: "plik1.php" i inne pozostałe includowane pliki, z ktorych kod nie bedzie przetwarzany w momenie wywolania tej strony? mozesz to prosto sprawdzic samemu wywolujac na koncu get_included_files" title="Zobacz w manualu php" target="_manual -------------------- "If debugging is the process of removing bugs, then programming must be the process of putting them in..."
sobstel.org |
|
|
![]()
Post
#24
|
|
![]() Grupa: Zarejestrowani Postów: 449 Pomógł: 0 Dołączył: 26.05.2004 Skąd: Nowy Sącz Ostrzeżenie: (0%) ![]() ![]() |
Trudno od Was wyciagnac konkretne informacje
![]() W tym przypadku parser analizuje caly kod bez wzgledu na to czy kod zostanie wykoany czy nie. A wiec laduje do pamieci powiedzmy 100 razy wiecej kodu niz naprawde jest potrzebne do wygenerowania danej strony www. A w przypadku includowanych plikow nie bierze pod uwage kodu, z tych plikow, z ktorych kod nie bedzie potrzebny do przetworzenia. Sprawdzilem to poleceniem, ktore mi posunal @sopel jak i rowiez po przez umyslne wprowadziene blednego kodu do tych czesci kodu, ktory nie bedzie przetwarzany w danej chwili i sprawdzenie czy parser wywali bledy. A wiec na razie mam taki z tego wniosek, ze nie nalezy trzymac duza ilosc kodu w jednym pliku w przypadkach kiedy tylko mala czesc z tego kodu bedzie wykonana do wygenerowania strony. Ten post edytował yavaho 8.01.2006, 21:02:56 -------------------- |
|
|
![]()
Post
#25
|
|
Grupa: Zarejestrowani Postów: 259 Pomógł: 0 Dołączył: 17.05.2003 Skąd: Nysa Ostrzeżenie: (10%) ![]() ![]() |
wszystko w osobnych plikach i includowanie.
rozbijanie kodu na wzglednie duza ilosc plikow zwieksza czytelnosc tego kodu. modularyzacja oparta na duzych plikach przysparza pewnych problemow - jesli projekt jest duzy i tych plikow robia sie setki - ale to i tak lepsze niz przegladania 20 stron kodu jednego pliku. jesli masz projekt, wyszczegolniach jego jednostki i dobrze jest kazda z nich miec w osobnym pliku, niezalenznie od tego czy to pojedyncza funkcja, klasa czy cokolwiek innego. pozniej latwo to znalezc, a jak sie modyfikuje kod i cos po modyfikacji sie sypnie od razu wiadomo gdzie sie zrobilo blad i nie trzeba przegladac ton kodu. zalet jest wiecej, ale to zauwazysz w praktyce ![]() -------------------- ![]() "Nie wiedziałem tylko, że Bóg też był na grzybach, gdy majstrował przy wszechświecie" (Janusz Wisniewski) dev: gazeta.ie |
|
|
![]()
Post
#26
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 7.06.2005 Ostrzeżenie: (0%) ![]() ![]() |
Heja!
Posluchalem waszej rady i robie na include, jednak napotakalem pewien problem. Otoz w swojej apliakcji mam 3 rodzajow userow: niezalogowany, zwykly i admin. Poszczegolne menu wywoluje w ten sposob ze mam index.php?req=1 i to jest na przyklad logowanie. Tyczy sie ono wszystkich i kazdy moze wywlac ten skrypt (ktory jest w pliku include)
Jednak jezeli nie jestem adminem to nie powinienem moc wykonywac rejestracji. Nie ma tego w menu usera zwyklego ani niezalogowanego, jednak mozna wpisac recznie w pasek ?req=2 i wtedy skypt mozna wywolac...Wiem ze moge dac w skrpycie zabezpieczenie ze jak ktos napisze ?req=2 i nie jest adminem to go wywala. np:
Rozwazam takze druga opcje. Ze stworze najpierw switcha z wyborem usera a pozniej odpowidniego z wyborem opcji, czyli:
i dopiero wtedy w pliku np. user.php wywalac odpowiedni req plik user.php:
Ktore rozwiazanie jest lepsze wg. Was? i czy w ogole dobrze mysle, a moze jakos inaczej to zastosowac? Moze jest jakies trzezcie wyjscie. Podzielcie sie uwagami i dzieki! |
|
|
![]()
Post
#27
|
|
![]() Grupa: Zarejestrowani Postów: 740 Pomógł: 15 Dołączył: 23.08.2004 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Panowie widze ze odeszliscie od pierwotnego problemu ktory nie brzmial czy wywolywac strone zawsze poprzez pojedynczy plik np. index.php czy tez dla poszczegolnych stron tworzyc osobne pliki.
Wasza dotychczasowa dyskusja przypomina powrot do dziecinstwa. Kto rozsadny trzyma cala tresc strony w jednym pliku. Wiadomo ze includowania sie nie uniknie (no chyba ze przy bardzo malej witrynie), problem polega jednak na tym czy chcac sie dostac do dwoch roznych artykulow wpisze w przegladarce za kazdym razem index.php z odpowiednimi parametrami czy tez za pierwszym razem art1.php a za drugim art2.php? Moim zdaniem trzeba te metody troszke polaczyc. Wyswietlajac newsy nie bede dla kazdego tworzyl osobnej podstrony, ale przechodzac np. do forum zmieniam plik wywolywany. Oczywiscie w ramach forum znow odwoluje sie do tego samego adresu (nie liczac roznych parametrow). Cytat(athabus @ 2006-01-06 19:33:35) Ja nie jestem pro, ale też się wypowiem:-) Do tej pory pisałem stylem "każda strona osobno", ale moim zdaniem to trochę uciążliwe jest. Ostatnio właśnie w ramach treningu piszę sobie mały portalik i chciałem zobaczyć jak tą kwestię rozwiązują cms'y. Wybrałem mambo (wiem że to nie najlepszy wybór ![]() Kolego "kazda strona osobno" to naprawde nie problem. Chodzi tylko o to aby czesc kodu wspolna dla wszystkich podstron includowac a nie powielac w kazdym pliku. -------------------- bigZbig (Zbigniew Heintze) | blog.heintze.pl
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 15.08.2025 - 02:54 |