Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Nawyki projektowe, mój pierwszy prodźekt ;)
uirapuru
post
Post #1





Grupa: Zarejestrowani
Postów: 182
Pomógł: 9
Dołączył: 30.04.2005

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


Nie wiem, czy jest to do końca ważne co dokładnie projektuje, ale chciałbym, żebyście skorygowali mój tok myślenia.

1) mam sobie kilka rodzajów includeów,
a) wszystko zapisane jako .php i objete w <? ?> (np. ustawienia skryptu na zasadzie $zmienna = "wartosc' (rzeczy typu hasla do bazy, loginy, inne wartosci)
(IMG:http://forum.php.pl/style_emoticons/default/cool.gif) podobnie na zasadzie define('BLAD', opis); porobione komunikaty
c) w jednym includzie funkcje, w drugim klasy
d) chce docelowo includowac plik html, za pomocą str_replace podmieniac ciagi %%tutaj_cos%% na odpowiedzi skryptu (czy lepiej tak jak w joomli wykonywac w odpowiednich miejscach templatu odpowiednie funkcje?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?

2) index.php includuje wszystko, zawiera sobie glowny obiekt oraz switche akcji (index.php?akcja=cos_tam i cos_tam jest case'm)
3) logowanie i zmienne oparte na sesjach, ale poprostu ustawiam zmienne jak "logged in" itp, nie wiem czy wymagany jest inny mechanizm, logowanie porownuje jedynie hashowane md5 hasło z zahashowanym hasłem z bazy
4) wszystkie $_GET i $_POST przed obrobka przejezdzam rekurencyjna funkcja z strip_slashes itp
5) komunikacja z baza wyglada tak, ze tworzony jest obiekt mysql, ktory nawiazuje przy tworzeniu polaczenie, a reszta odbywa sie za pomoca mysql_query, ale cos czuje, ze chce zrobic to tak, ze dla kazdej tablicty bedzie osobna klasa z rodzajem metody tablica.set_costam(wartosc)

dajcie znac, czy ide w dobra strone
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Zyx
post
Post #2





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

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


1. Sprawa sesji - tak, są powszechnie znane techniki ich zabezpieczania i pewne standardy ich tworzenia. Kiedyś powstało "PHP Security Consortium"... coś szybko się wykruszyło, ale zostawiło po sobie całkiem interesujący dokument dotyczący m.in. sesji: http://phpsec.org/projects/guide/

2. Przejeżdżanie $_GET oraz $_POST przez stripslashes() - nie rób tak! Słowem kluczowym jest tutaj: magic_quotes, ty powinieneś pisać skrypty tak, jakby było ono wyłączone, a usuwać slashe tylko wtedy, gdyby włączone było. W PHP6 opcja ta zniknie i będziesz w kropce, bo Twój skrypt będzie do przeróbki.

3. Nie pisz nowej klasy do komunikacji z bazą danych od zera, tylko skorzystaj albo z czystego PDO, albo z rozwiązania bazującego na nim. Stare rozszerzenia, o ile są już w PDO zaimplementowane zamienniki, nadają się właściwie tylko na śmietnik. Przy okazji PDO automatycznie dostosowuje się do ustawień magic_quotes.

4. Kwestia systemu szablonów - Smarty ma tę zaletę, że jest popularny, ale w sumie od lat stoi w miejscu i od strony składni szablonów nie błyszczy - idzie mocno w stronę "tradycyjnego" programowania, więc i tak trzeba się namęczyć, by cokolwiek bardziej zaawansowanego napisać, do tego pozmieniał dobrze funkcjonujące rozwiązania programistyczne (komu przeszkadzało wywołanie funkcji w stylu f(x) ?) i nie ma zbyt wiele narzędzi do modularyzacji i wielokrotnego wykorzystania tego samego kodu. W ogóle temat systemów szablonów jest o wiele bardziej złożony, pełno tutaj różnych mitów i pseudoporównań (np. widziałem już "porównania" typu "Smarty"-jakiś framework, i to robione przez naprawdę znających się na rzeczy programistów (!)). Kiedyś w jakiś rodzaj systemów szablonów i tak będziesz musiał wejść, więc może warto poczytać parę rzeczy na ten temat:

http://pornel.net/szablony - już podany wyżej, trochę przydałoby mu się odświeżenia, ale ogólnie OK
http://www.zyxist.com/pokaz.php/uzyteczne_systemy_szablonow
http://phpedia.pl/wiki/Systemy_szablonów

Ten post edytował Zyx 6.05.2009, 07:59:54
Go to the top of the page
+Quote Post

Posty w temacie


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: 31.12.2025 - 21:16