![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 335 Pomógł: 34 Dołączył: 9.11.2005 Skąd: Wrocław Ostrzeżenie: (10%) ![]() ![]() |
Cześć, otóż zacząłem sobie przyswajać czyste OOP w PHP. Wcześniej wiele pisałem już we frameworkach kod obiektowy, jednakże nigdy nie pisałem własnej klasy, ani dokładniej nie zagłębiałem się w sposób działania klas oraz ich obiektów. Z palca napisałem malutką klasę, czy ktoś może zerknąć i powiedzieć mi, czy dobrze rozumuję zasady działania programowania obiektowego i czy w miarę dobrym stylu piszę? Oczywiście pomijam MVC - oddzielanie widoku tutaj od zarządzania całą resztą. Proszę o konstruktywną opinię. W końcu człowiek musi zacząć programować własne aplikacje pisząc je w stylu obiektowym (pomijam frameworki). Poniżej prezentuję swój kod:
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 933 Pomógł: 460 Dołączył: 2.04.2010 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Może to kwestia zbyt małej ilości krwi w alkoholu, ale ta Twoja klasa nie ma najmniejszego sensu. W jakim celu deklarujesz obiekty skoro ich nawet nie używasz? Sama klasa jest bezużyteczna, tak samo jak jej metody.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 915 Pomógł: 210 Dołączył: 8.09.2009 Skąd: Tomaszów Lubelski/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Dodatkowo XSS.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 335 Pomógł: 34 Dołączył: 9.11.2005 Skąd: Wrocław Ostrzeżenie: (10%) ![]() ![]() |
Proszę o nakierowanie kolego b4rt3kk. A co do XSS to przecież nic nie zabezpieczałem w tym skrypcie.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 933 Pomógł: 460 Dołączył: 2.04.2010 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
To są Twoje obiekty:
Będą one dostępne wewnątrz metod klasy (i do tego służą), tyle że nie nadajesz im żadnych wartości. Dzieje się to chociażby w ten sposób:
Możesz to robić również w konstruktorze, zależy od potrzeb. Teraz obiekt $title ma nadaną wartość i można go użyć w innych metodach, np.
A jaki ma to sens? Żeby nie robić tego w ten sposób:
Tylko w ten:
|
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat To są Twoje obiekty: To nie są żadne obiekty a właściwości klasy/obiektu. No nie mieszaj już i tak pokręconego kodu
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 616 Pomógł: 84 Dołączył: 29.11.2006 Skąd: bełchatów Ostrzeżenie: (0%) ![]() ![]() |
Dziwne że można pisać we frameworku jak Kohnana, nie znając podstaw OOP
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Dziwne że można pisać we frameworku jak Kohnana, nie znając podstaw OOP Takie są skutki korzystania z FW nie znając sposobu w jaki działają. @in5ane - możesz napisać co ta klasa miałaby w zasadzie robić? Jest do dla mnie niezrozumiale. Ten post edytował !*! 18.06.2013, 11:29:20 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 1 335 Pomógł: 34 Dołączył: 9.11.2005 Skąd: Wrocław Ostrzeżenie: (10%) ![]() ![]() |
Po prostu zacząłem się uczyć OOP i chciałem coś sobie małego dla nauki tworzyć. Nie miałem pomysłu na klasę żadną. Możecie podsunąć jakiś pomysł i spróbuję na nowo napisać i może bardziej to pojmę, a Wy optymistyczniej to ocenicie. Od czegoś trzeba zacząć.
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 1 933 Pomógł: 460 Dołączył: 2.04.2010 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
No nie wiem, może napisz klasę tworzącą miniaturki z obrazków? Nie będzie to wielce problematyczne, a edukacyjne.
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 1 335 Pomógł: 34 Dołączył: 9.11.2005 Skąd: Wrocław Ostrzeżenie: (10%) ![]() ![]() |
Czy ta klasa jest już dobrą próbą programowania obiektowego? W dobrym kierunku idę?
@edit: Oczywiście, można by dodać jeszcze możliwość dodawania rozmiaru miniatury (opcjonalna rzecz). Ale ogólnie chcę wiedzieć, czy programowanie obiektowe (takie typowe) idzie w tym kierunku, jak ja napisałem tą klasę. @edit2: No i zrobiłem tylko dla JPG, oczywiście normalnie powinno się zczytać rozszerzenie (np. dla JPG, GIF i PNG). Ten post edytował in5ane 18.06.2013, 19:43:09 |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 125 Pomógł: 9 Dołączył: 25.05.2013 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 1 933 Pomógł: 460 Dołączył: 2.04.2010 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Teraz już lepiej Ci wyszło.
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 1 335 Pomógł: 34 Dołączył: 9.11.2005 Skąd: Wrocław Ostrzeżenie: (10%) ![]() ![]() |
A mógłbyś powiedzieć, czy to jest poprawnie napisana klasa? W dobrym kierunku idę? Oczywiście nie mówię tutaj o funkcjonalności i użyteczności.
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 1 933 Pomógł: 460 Dołączył: 2.04.2010 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
A mógłbyś powiedzieć, czy to jest poprawnie napisana klasa? W dobrym kierunku idę? Oczywiście nie mówię tutaj o funkcjonalności i użyteczności. Jak najbardziej, wszystsko jest poprawnie i idziesz w dobrym kierunku. Jednak ten fragment:
mógłbyś umieścić w funkcji createThumb. Nie potrzebujesz aż tylu właściwości, na dobrą sprawę wystarczyłaby sama ścieżka do pliku, reszta mogłaby pozostać zmiennymi lokalnymi wewnątrz metody klasy. Ewentualnie mógłbyś dorzucić wysokość i szerokość miniaturki lub skalę pomniejszenia jako właściwości, reszta jest raczej zbędna. |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 1 335 Pomógł: 34 Dołączył: 9.11.2005 Skąd: Wrocław Ostrzeżenie: (10%) ![]() ![]() |
Po prostu stwierdziłem, że główny obrazek niech będzie w konstruktorze automatycznie wykonywany, a metoda createThumb żeby zajmowała się już tworzeniem tylko i wyłącznie miniatury. Tak czy siak dziękuję za odpowiedzi i rady. Wezmę się teraz za coś większego, albo rozbuduję tą klasę (tak dla nauki). Po stworzeniu poddam ją również ocenie.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 9.10.2025 - 06:20 |