![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 12.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
Napisałem ostatnio u siebie na blogu klase uploadującą jeden plik. Dodam, że głównie skupiałem się na bezpieczeństwie. Są osoby, które twierdzą, że ta klasa to "struktura w obiekcie". Chciałbym się dowiedzieć jak napisać taka klase lepiej, chodzi mi o wskazówki. Z góry dziex!
Tutaj klasa :
Ten post edytował mijagi 21.08.2009, 08:29:55 -------------------- my blog - linux, php, security
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 419 Pomógł: 42 Dołączył: 12.08.2008 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Wywal klasę i napisz od początku. Na pewno będzie zoptymalizowana. Zero przemyślenia wygląda jakbyś po prostu jedną funkcję na sztywno podzielił na kilka metod i myślał, że to jest świetna klasa.
Po co dajesz komuś w formularzu wybór tego co wysyła ? On ma po prostu coś wysłać, a ty masz sprawdzić na miejscu jakie ma rozszerzenie i rozmiar. Btw. jeszcze jest np. rozszerzenie jpEg, tar, tar.gz, gz itp itd. Dalej lecąc to po co mieszasz angielski z polskim ? nazwa_tmp, typy_mime i nagle jeszcze mimY - WTF? co to jest up_up ? Nie wiem czemu jednak osobiście jestem zrażony gdy widzę echo "coś" w metodzie klasy nie bardzo mi się to podoba chyba, że jest pod parametrem
Metoda komunikaty w ogóle nie jest przydatna. Zrobić metodę tylko po to by użyć switcha dla komunikatu błędu ? Nie będę Ci pisać jak pisać swoje klasy. Polecam po prostu poczytać kod i zobaczyć jak to inni robią. Zrozumiesz wtedy, że konstrukcja konkretnej jednej Twojej metode jest rozbity na inne bardziej przejrzyste i lepsze jeśli chodzi o inną funkcjonalność( dodatkową ) |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 12.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Wywal klasę i napisz od początku. Na pewno będzie zoptymalizowana. Zero przemyślenia wygląda jakbyś po prostu jedną funkcję na sztywno podzielił na kilka metod i myślał, że to jest świetna klasa. Gdybym tak myślał to bym to nie przyszedl z prośbą o porady ![]() Fakt z rozszerzeniami tar.gz, byłby problem, ze względu, że szukam ostatniej kropki. Specjalnie dalem komentarze w tablicach z rozszerzeniami i mime, żeby user to rozszerzył sobie jeśli chce, a co do "jpEg" to mogłem najpierw użyć funkcji strlower - dzieki ![]() Btw, nie czepiajcie sie nazw chciałbym się dowiedzieć czegos jak poprawic ten kod, nazwy naprawde sa tu nieistotne. -------------------- my blog - linux, php, security
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
O wyjątkach, to nie słyszałeś? Czytelność kodu jest fatalna, wszystko można by było zgrabnie zrobić.
Hmm, ciekawe co zrobisz, gdy zechcesz rozbudować klasę i dodać nowe komunikaty o błędach, zobaczymy, do jakiego momentu się nie pogubisz. ![]()
A o pathinfo nie słyszał? ![]()
A teraz patrz na dokumentację: Cytat The getimagesize() function does not require the GD image library. Co jeszcze?
Poczytaj trochę o programowaniu obiektowym, bo na razie to jest tylko strukturalny ubrany w inne nazwy zmiennych... -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 898 Pomógł: 80 Dołączył: 31.05.2008 Ostrzeżenie: (20%) ![]() ![]() |
A co te public $zmienna robią? Nie słyszał Pan o zasadzie hermetyzacji?
Ten post edytował cojack 22.08.2009, 23:37:57 -------------------- cojack blog - mój blog (na jakiś czas off).
"jak czegoś nie wiem, to nie myślę że wiem" - moja domena |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 13:24 |