Po kazdym pytaniu napisalem moje spostrzezenia, co do
1. Mam w skrypcie system cachowania wybranych zapytan do bazy MySQL. I teraz moje pytanie, czy optymalnym rozwiazaniem jest cachowanie zapytan o kazdy produkt? jest to jedno polecenie mysqla, wybierajace dane z jednej tabeli (dodam jeszcze, ze zcachowane dane sa przetrzymywane w plikach w postaci zserializowanej, co przyspiesza ich odczytywanie).
Napewno cachowanie skroci czas wykonywania skryptu, ale niestety zwiekszy sie zapotrzebowanie na miejsce na serwerze, bo skrypt bedzie obslugiwal powiedzmy kilkadziesiat tysiecy produktow (przyjmijmy 50 000 produktow), a co za tym idzie, miejsca bedzie potrzeba 1,5 kB (srednia na produkt) * 50000 = 75 MB. Ale z drugiej strony kazdy produkt w danej chwili moze ogladac wiel osob (ogladalnosc tez jest duza przewidziana), wiec ich dostep do danego produktu byl by szybszy.
Zatem, czy oplaca sie cachowac zapytania o kazdy produkt? Ja obecnie cachuje te zapytania, ale chetnie uslysze wasze sugestie, pewnie macie wieksze doswiadczenia zwiazane z duzymi sklepami niz ja.
2. Gdzies ktos (chyba Hawk, ale moge sie mylic :/) cos wspomnial o nagminnym uzywaniu klas (konkretnie o klasie timer i error), sklonilo mnie to do pewnych rozwazan. Mi sie wydaje podobnie, ze klasy timer nie potrzeba, dyz mialem tam tylko dwie metody: start i stop, i byly one wykorzystywane tylko w jednym miejscu skryptu, wiec po co od razu klasa. Wiaze sie ta pewnie z istata stosowania OOP, zeby wszystko bylo w klasach, ale moj skrypt tylko korzysta z klas, a nie jest na nich calkowicie oparty.
Podobnie sie przedstawia problem z klasa error, tutaj autor wspomnial o tym, ze jest tego wykonywana tylko jedna instancja, wiec po co tez tworzyc cala klase? I co moze byc ponadto w tej klasie, poza metoda odpowiedzialna za wyswietlenie bledu? Sorki, ale klas rzadko uzywalem i mam male zaleglosci

3. Pytanie odnosnie klasy auth. Mam tam metody inicjalizujaca, ktora sprawdza sesje itp. i nastepnie ustawia odpowiednie zmienne klasy. Druga funkcja odpowiada za sprawdzenie, czy aktualny uzytkownik ma prawa do "zarzadzania" danym modulem. Jakie jeszcze moga byc metody w tej klasie? Widzialem w innych przyklada klas z innych skryptow, ze byly tam metody odpowiedzialne za logowanie i wylogowywanie uzytkownikow, ale nie wiem, czy to jest konieczne (czytaj optymalne), skoro kazda z tych metod jest wykonywana tylko raz w calym skrypcie, tj. w pliku loguj.html i wyloguj.html.
4. Mam pytanie, czy ustawienia strony, typu: adres_strony, tytul_strony, ilosc_produktow_na_strone, domyslna_skorka, domyslny_jezyk, format_daty przechowywac w bazie danych, czy w plikach tekstowych, jako define('format_daty', 'd-m-Y') itp. ?
Ja sie raczej sklaniam do tego pierwszego, gdyz nawet takie zapytanie mozna scachowac, wiec bedzie szybciej pobierane. Ponadto dane w bazie latwiej edytowac, a nie otwierac plik i recznie zmieniac, lub meczys sie ze skryptem w wycinanie itp.
Ostatni wlasnie widzialem kilka skryptow, gdzie ustawianie byly wlasnie w plikach, i tak mnie to sklonilo do zastanowienia, ale jednak chyba pzostane za baza?
A moze dane przetrzymywac w xml'u

Za wszelkie sugestie z gory dziekuje
