![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 139 Pomógł: 0 Dołączył: 12.07.2005 Skąd: krakow Ostrzeżenie: (0%) ![]() ![]() |
witam,
nie bede pytal jak stworzyc klase w php i czy wogole programowanie obiektowe ma sens, bo takie pytania sa nie na miejscu. od poczatku. chcialbym stworzyc np galerie zdjec i przy okazji pobawic sie troche php wykorzystujac obiekty. i tu rodzi sie wiele pytan. 1)galeria to zbior zdjec ktore same w sobie sa obiektami(maja jakas zawartosc, wymair, nazwe, itp). wiec moj obiekt bedzie czysto opisowy, bedzie niejako kopiowal to co juz jest zapisane w zdjeciu, dostarczal zebranych metod do odczytania tych informacji czy modyfikacji zdjecia. a i tak koniec koncow celem nie jest utworzenie obiektu samego w sobie lecz stworzenia pliku HTML i zycie takiego obiektu sie konczy. tak czy siak sie zakonczy jak uzytkownik zamknie przegladarke. dlatego uwazam ze uzywanie obiektow w php ma ograniczone zastosowanie. widze tu 2 podejscia. w momencie kiedy chce tylko pokazac zdjecia w przegladarce stosuje podejscie podstawowe lub wykorzystuje metody statyczne. kiedy uzytkonik bedzie chcial zmodyfikowac konkretne zdjecie - tworze obiekt i wykonuje operacje. reasumujac przy tworzeniu stron dzialamy na fizycznych obiektach(zdjecie, rekord tabeli z informacja o uzytkowniku, lista ksiazek) w wiekszosci przypadkow nie musimy nic z nimi robic a tylko je pokazac. dlatego stworzenie duzej ilosci obiektow przechowujacych pelna informacje mija sie z celem i jest malo wydajne. chcialbym poznac wasza opinie na ten temat, bo mam male doswiadczenie w pisaniu obiektowym w php, a nie chce wywazac otwartych drzwi pozdrawiam (IMG:http://forum.php.pl/style_emoticons/default/guitar.gif) |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 611 Pomógł: 19 Dołączył: 28.02.2005 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
wg mnie musisz wiedzieć jakiego rozmiaru masz projekt... to jest podstawowe kryterium stosowania obiektowości, bo po co wytaczać działa na domek z zapałek.. Zaraz zwolenicy programowania obiektowego będą mnie chcieli ukrzyżować ale osobiście twierdze że do małych prostych skrytów nie potrzebne jest budowanie obiektów bo to tylko będzie spowalniąc działanie skryptu (chociaż wydajność przy mały skrypcie i tak sie nie bedzie liczyć )
Musisz wykorzystać swoją intuicję kiedy stosować obiekty i kiedy je wykorzystywać. Jeżeli piszesz jakies oskryptowanie i wiesz że nigdzie Ci sie to nie przyda bo polega na prostym przeworzeniu formularza to nie ma sensu zaprzęgać całego mechanizmu obiektowego. Natomiast jeżeli korzystasz z jakiejś bazy i przechowujesz coś co symuluje "rzeczywistość" ( wiesz że coś spełnia kryteria by być obiektem obiektem i nie bedzie sie składał tylko z konstruktora getów i toString() ) to jak najbardziej warto zastosować podejście obiektowe. --- Osobiście brałem udział w towrzeniu dwóch dużych portali muzycznych i mobilnych i tam bez obiektowoście nie można sie było obejść. Warstwa biznesowa wyszła dość skomplikowana i nie wiem kto by to ogarnął proceduralnym podejście (chyba tylko maniacy asemblera lub VHDLa ) Ten post edytował sticker 21.11.2006, 02:51:34 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 139 Pomógł: 0 Dołączył: 12.07.2005 Skąd: krakow Ostrzeżenie: (0%) ![]() ![]() |
moje pytanie dotyczy tez pewnej wydajnosci uzycia pamieci, itp
|
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
Owszem - jeśli powołujesz obiekt, to wypadałoby, aby można zrobić z nim coś więcej niż tylko wyświetlić. Pamiętaj jednak, że nie zawsze powołanie obiektu musi być całkowite. Nie musisz wywoływać wszystkich jego metod, czy wypełniać wszystkich wartości. Po prostu konstruujesz obiekt etapowo, co zaoszczędza wiele czasu.
Używanie obiektów ma ograniczenia. Można jednak zawsze zserializować dane (obiekt), a to również oszczędza sporo czasu. Zgadzam się do wypowiedzą stickera dotyczącej zastosowania oop, ale do galerii zdjęć polecam obiekty. Pozdrawiam. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 139 Pomógł: 0 Dołączył: 12.07.2005 Skąd: krakow Ostrzeżenie: (0%) ![]() ![]() |
Pamiętaj jednak, że nie zawsze powołanie obiektu musi być całkowite. Nie musisz wywoływać wszystkich jego metod, czy wypełniać wszystkich wartości. Po prostu konstruujesz obiekt etapowo, co zaoszczędza wiele czasu. co przez to rozumiesz? powolujac obiekt rezewujesz iles miejsca w pamieci i czas na to posiwecony jest staly(?) bez wzgledu czy wypelnisz go konkretnymi wartosciami. myle sie? |
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
Głowy nie dam, ale chyba się nie mylisz. Nie w tym jednak rzecz. Jest różnica pomiędzy obiektami tak konstruowanymi:
a tak:
Pomijając użyteczność przykładu... które rozwiązanie jest elastyczniejsze? Jedyne, co się dzieje przy konstrukcji obiektu, to wczytanie niezbędnych danych, a reszta jest po prostu zadeklarowana. php samo decyduje o przydzielanie pamięci w zależności od potrzeb. Pozdrawiam. Ten post edytował Cysiaczek 21.11.2006, 12:53:48 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 11:19 |