Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] Kilka pytań od początkującego
Forum PHP.pl > Forum > Przedszkole
MADcZuk
Hej!

Przed rozpoczęciem kariery przeczytałem trochę materiałów (książkę, przejrzałem parę kursów oraz tutoriali). Niestety w paru kwestiach różnią się one podejściem do sprawy i nie wiem, które rozwiązania są te jedyne i słuszne;) Od początku chciałbym wyrobić sobie dobre nawyki, a nie mam niestety pod ręką żadnego doświadczonego kolegi, u którego mógłbym sie skonsultować. Pozwolę sobie zatem pomęczyć Was trochę:)

1. Niektórzy tworzenie poszczególnych części strony wrzucają do funkcji (make_header(), make_footer()), funkcje te zbierają w osobnych plikach (display_functions.php, db_functions.php itd.) i potem dołączają do plików (require_once). Inni zaś tworzą osobne pliki, które odpowiadają za daną rzecz i tam wrzucają odpowiedni kod html i funkcje używane (header.php, footer.php). Potem do danego pliku dołączają je poleceniem include. Które z tych rozwiązań jest lepsze, bardziej poprawne? Jest jakaś różnica w szybkości działania? A może jeszcze inne rozwiązanie jest tym właściwym?

2. Chciałbym mieć stronę, którą odwiedzać będzie wieczorami np. dobrych kilkaset osób naraz, a potem może i tysięcy. Każdej z nich wyświetlają się newsy, artykuły, ostatnie komentarze, profile użytkowników, system wiadomości wewnętrznych itd.. Nie za dużo tych odwołań do bazy? Przeglądanie z każdą podstroną tabeli z wiadomościami wewnętrznymi, żeby sprawdzić ile nowych na Ciebie czeka to niezbyt wydajne rozwiązanie. Tym bardziej, że z czasem będzie tam pewnie z kilka, kilkanaście czy kilkadziesiąt tysięcy rekordów. Jakie są granice, przy których MYSQL zacznie mulić (ilość odwołań na podstronę, ilość rekordów w tabeli). Powiedzmy, że strona i baza byłyby na dedykowanej im maszynie. Może istnieje jakieś źródło, gdzie mogę przeczytać o optymalizacji czy różnych sztuczkach zmniejszających obciążanie bazy danych;) Może przy większych projektach od razu lepiej się przerzucić się na coś innego niż MYSQL?

3. Czy cookies są na tyle bezpieczne, że można tam przechowywać np. hasło użytkownika? Takie rozwiązanie gdzieś widziałem. Niedobrzy ludzie nie są w stanie tego wykorzystać?smile.gif

4. Gdzieś widziałem, że do wielu czynności stosowali metodę GET (index.php?zaloguj, ?wyloguj, ?rejestruj itp.). To jest lepsze niż wywoływanie osobnych plików (zaloguj.php, wyloguj.php)?

Z góry dzięki za pomoc.
marcio
Cytat
3. Czy cookies są na tyle bezpieczne, że można tam przechowywać np. hasło użytkownika? Takie rozwiązanie gdzieś widziałem. Niedobrzy ludzie nie są w stanie tego wykorzystać? smile.gif

4. Gdzieś widziałem, że do wielu czynności stosowali metodę GET (index.php?zaloguj, ?wyloguj, ?rejestruj itp.). To jest lepsze niż wywoływanie osobnych plików (zaloguj.php, wyloguj.php)?

Nom jak robia autoryzacje w slawnych cms'ach jak php-fusion to raczej tak oczywiscie trzeba miec przynajmniej podstawowo pojecie o php jak i XSS i CSRF

W sumie kazdy robi jak chce osobne pliki lub GET to jeden kit zalezy to bardziej od widzimisia programisty jak robilem tak.

Jesli mam strone news.php to do usuwania,edytowania,dodawania nie robie osobnych plikow edit.php,delete.php etc tylko stosuje $_GET bo sa ze soba powiazane.
Gdy nie sa powiazane uzywam pliki.

Kto co woli.

Co do pytania nr 2 to wielkim znawca nie jestem jednak na male i srednie projekty MySql wystracza.

Mulic to nie wiem czy bedzie przy 10k rekordow to zalezy na jakim "silniku" bedzie chodzi czy masz jak najlepsze typy kolumn w bazie dla spelniajacych im najlepiej zadan.
Zreszta news'y i takie rzeczy mozesz cache'owac.
cojack
Cytat
1. Niektórzy tworzenie poszczególnych części strony wrzucają do funkcji (make_header(), make_footer()), funkcje te zbierają w osobnych plikach (display_functions.php, db_functions.php itd.) i potem dołączają do plików (require_once). Inni zaś tworzą osobne pliki, które odpowiadają za daną rzecz i tam wrzucają odpowiedni kod html i funkcje używane (header.php, footer.php). Potem do danego pliku dołączają je poleceniem include. Które z tych rozwiązań jest lepsze, bardziej poprawne? Jest jakaś różnica w szybkości działania? A może jeszcze inne rozwiązanie jest tym właściwym?

Tia... większej głupoty nie widziałem smile.gif coś takiego jest jak już wyżej powiedział kolega w php-fusion... I jest to nie optymalne rozwiązanie, a wręcz dla mnie paskudne. Nie powinno się robić takich rzeczy, można natomiast zastosować coś na wzór dispatchera(klasa dyspozytora), po getach ładować system templatek (sam tak stosuje ;x), mieć główną templatkę i do niej includować potrzebne nam części, menu, topa, stopke, no i contenta.
Cytat
2. Chciałbym mieć stronę, którą odwiedzać będzie wieczorami np. dobrych kilkaset osób naraz, a potem może i tysięcy. Każdej z nich wyświetlają się newsy, artykuły, ostatnie komentarze, profile użytkowników, system wiadomości wewnętrznych itd.. Nie za dużo tych odwołań do bazy? Przeglądanie z każdą podstroną tabeli z wiadomościami wewnętrznymi, żeby sprawdzić ile nowych na Ciebie czeka to niezbyt wydajne rozwiązanie. Tym bardziej, że z czasem będzie tam pewnie z kilka, kilkanaście czy kilkadziesiąt tysięcy rekordów. Jakie są granice, przy których MYSQL zacznie mulić (ilość odwołań na podstronę, ilość rekordów w tabeli). Powiedzmy, że strona i baza byłyby na dedykowanej im maszynie. Może istnieje jakieś źródło, gdzie mogę przeczytać o optymalizacji czy różnych sztuczkach zmniejszających obciążanie bazy danych;) Może przy większych projektach od razu lepiej się przerzucić się na coś innego niż MYSQL?

Z tym już się wiąże inżynieria oprogramowania, i umiejętność modelowania baz, najlepiej zacząć projektować już na poziomie UML, żeby później nie kminić o co mi chodziło. Wiesz wszystko zależy od tego jak do tej sprawy podejdziesz, można np zrobić pod tabele, które będą przechowywać dane i będą odswieżane co jakiś czas po to by nie obciążać serwera. Tak samo jak z kluczami obcymi, jeżeli posiadasz klucz obcy w tabeli i nie utworzysz dowiązania to nie zrobisz tego w taki sposob (select * from table t join left t.table2 t2).
Cytat
3. Czy cookies są na tyle bezpieczne, że można tam przechowywać np. hasło użytkownika? Takie rozwiązanie gdzieś widziałem. Niedobrzy ludzie nie są w stanie tego wykorzystać?

Nie.
Cytat
4. Gdzieś widziałem, że do wielu czynności stosowali metodę GET (index.php?zaloguj, ?wyloguj, ?rejestruj itp.). To jest lepsze niż wywoływanie osobnych plików (zaloguj.php, wyloguj.php)?

Wiesz, a kto powiedział że nie możesz po gecie ładować plikow? winksmiley.jpg I znowu przychodzi mi na myśl klasa dyspozytora winksmiley.jpg Robisz tak jak Ci wygodniej. Jak nie chcesz mieć w jednym pliku kupe danych, to przenosisz do pozostałych plików.
Simple winksmiley.jpg

Pozdro.
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.