Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL] Kilka pytań od początkującego
MADcZuk
post
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 20.05.2009

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


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ć?(IMG:http://forum.php.pl/style_emoticons/default/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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
marcio
post
Post #2





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


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ć? (IMG:http://forum.php.pl/style_emoticons/default/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.
Go to the top of the page
+Quote Post
cojack
post
Post #3





Grupa: Zarejestrowani
Postów: 898
Pomógł: 80
Dołączył: 31.05.2008

Ostrzeżenie: (20%)
X----


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 (IMG:http://forum.php.pl/style_emoticons/default/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? (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) I znowu przychodzi mi na myśl klasa dyspozytora (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Robisz tak jak Ci wygodniej. Jak nie chcesz mieć w jednym pliku kupe danych, to przenosisz do pozostałych plików.
Simple (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Pozdro.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 24.12.2025 - 11:33