Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [klasy] Założenia - ale czy poprawne?
PMadej
post 25.10.2003, 08:52:35
Post #1


Vice-Administrator serwera


Grupa: Przyjaciele php.pl
Postów: 395
Pomógł: 0
Dołączył: 7.08.2003
Skąd: Kielce

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


Witam wszystkich, zanim się wezmę za naukę klas chciałbym zrozumieć ich wykorzystanie. Mam aplikację opartą o php i tylko funkcje. Zastanawiałem się jak ją przerobić na klasy i do takich wniosków dochodzę:
1) Jeśli mam obsługę klienta to w klasie powinienem zawrzeć
- dodawanie go
- edycję jego danych
2) dla magazynu
- dodawanie produktow
- wydawanie z magazynu
- kompletowanie z polproduktow itp
...

I teraz moje pytanie: Czy tak podchodząc do konstrukcji klasy będę mógł wykorzystać ich wszelkie zalety i czy będzie to wydajny system. Jeśli moje założenia są błędne prosiłbym o lekkie naprowadzenie na prawidłowy tok myślenia obiektowego.

Z góry dzięki.


--------------------
Go to the top of the page
+Quote Post
rzseattle
post 25.10.2003, 10:51:27
Post #2





Grupa: Przyjaciele php.pl
Postów: 554
Pomógł: 0
Dołączył: 4.04.2002
Skąd: Tychy

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


Kiedys sie bawilem w pisanie klasy dla kazdej czynnosci i kazdego "obiektu" , w panelu administracyjnym. Wynik byld dosyc dziwaczny poniewaz namnozylo mi sie wiele klas i po pewnym czasie poprostu zaczalem sie gubic w tym co gdzie jest.

Wecs odpowiedzjest taka , zanim zbudujesz klase musisz przemyslec to czy jest tobie naprawde potrzebna, bo w krotkim czasie powstaje balagan. a osobiscie odszedlem od pisania klas dla zbyt szczegolowychrzeczy na rzecz silnika i dolaczania kodu php do konkretnego szbalonu (np. dodawanie towarui td) , co w somie tez opiera sie na obiektowce (nie $_GET tylko $engine->input), ale przynajmniej dla mnie jest duzo czytelniesze bo masz w osobnym pliku ten kawalek ktory jest za to odpowiedzialny i przewaznie nie jest tego wiecej niz 100 linijek.

No ale to moje osobiste zdanie i upodobanie.


--------------------
"Real children don't go hoppity-skip unless they are on drugs."
Go to the top of the page
+Quote Post
patrycjusz
post 25.10.2003, 15:43:28
Post #3





Grupa: Zarejestrowani
Postów: 263
Pomógł: 0
Dołączył: 13.07.2003
Skąd: wawa

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


pierwsze moje zdeżenie z obiektówką nastąpiło jakiś okres temu (mniejwięcej półtroa miecha temu może troche mniej) i wrażenia jak do tej pory są olbrzymie, coraz bardziej zagłębiam się w to jak bardzo można kod "pięknie ułożyć" i jak póżniej łatwo namierzyć błąd, więc głęboko zachęcam. A co do założeń to troszeczkę mało powiedziałeś ale dopowiem ci tylko tyle że ja obecnie za cokolwiek sie nie wezmę w php to już myśle o tym w kategoriach obiektowych chociarz koder jeszcze ze mnie marny :wink: .
P.S temat chyba raczej na hydepark :wink: .


--------------------
www.tigroup.pl Rozwiązania informatyczne dla sektora MSP.
Projektowanie i tworzenie stron www, dedykowane rozwiązania e-biznes, outsourcing usług programis
Go to the top of the page
+Quote Post
spenalzo
post 25.10.2003, 15:56:23
Post #4





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

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


Ja klasami zająłem się niedawno i muszę powiedzieć, że można przy ich pomocy zrobić rzeczy ciężko wykonalne na zwykłych funkcjach. Teraz już wiem, ze to byłą miłość od pierwszego kodu biggrin.gif
Dzięki klasom można znacznie skrócić czas pisania kodu, poza tym stanie się on bardziej przejrzysty - wadą jest spowolnienie działania skryptu.
Dodam także, że nie wszystko trzeba wrzucać do klas - należy stosować je jako środek pomocniczy, a nie zastępczy.


--------------------

Go to the top of the page
+Quote Post
bulek
post 25.10.2003, 15:59:02
Post #5





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 23.10.2003

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


NO obiektowosc w php to potega a w nowszej wersji bedzie jescze fajniej. Oczywiscie ze jezeli piszesz modul administracyjny to sie oplaca. Oglnie mowiac klasy sa piekne poniewaz pozwlaja laczyc dane z funcjami /metodami/ ktore opreuja na tych danych. Oczywiscie nie ma co mnozyc klas na potege. Trzeba pamietac przedewszystkim z otomowosci czynnosci czyli piszemy jedna klase do autoryzacji i to w ten sposob by obslugiwala TYLKO autoryzacje a nie np jeszcze polaczenie do bazy smile.gif Tym powinna zajac sie juz inna klasa.
Pamietaj ze jest cos takiego ja dziedziczenie czyli mozesz napisac swoja podstawtowa klase i inne z niej beda tylko dziedziczyc. Co do admina to doskonale sie ta taktyka sprawdza. Pamietaj tez - nie wszyscy to robia - ze pewne klasy mozesz wspoldzielic pomiedzy serwisem a adminem smile.gif To oszczedza czasu i pracy smile.gif Po co duplikowac raz napisany kod questionmark.gif

Jak najbardziej OOP - Object Oriented Programin - ale to wymaga pracy i czestego zmieniania - ulepszania. A wlasnie co do zmiany obiektow to latwiej czasmi zmienic aplikacje jak jest dobrze napsiana obiektowo - poniewaz obiekty sa od siebie w miare niezalezne.
Go to the top of the page
+Quote Post
PMadej
post 25.10.2003, 17:20:03
Post #6


Vice-Administrator serwera


Grupa: Przyjaciele php.pl
Postów: 395
Pomógł: 0
Dołączył: 7.08.2003
Skąd: Kielce

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


bulek: możesz polecić jakieś źródła na temat tego jak tworzyć klasy, żeby miały one sens i miejsce, lub ewentualnie powiedzieć coś więcej na temat podejścia do klas zanim się je napisze: czym się kierować, na co zwrócić uwagę itp...

Z góry dzięki


--------------------
Go to the top of the page
+Quote Post
bulek
post 25.10.2003, 17:40:16
Post #7





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 23.10.2003

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


No to napisze z czego mozna sie dowiedziec:

http://www.zend.com/zend/tut/class-intro.php
http://www.php.net - smile.gif
http://www.php-mag.net/

duzo dalo mi
http://www.phparch.com/ - niestety platne sad.gif


ale mozna tez przeczytac "PHP4 zaawansowane programowanie"
no i pisac samemu bo to chyba najwazniejsze bo wtedy widac co jest nie tak jest i myslisz jak to poprawic.
Go to the top of the page
+Quote Post
PMadej
post 26.10.2003, 12:37:17
Post #8


Vice-Administrator serwera


Grupa: Przyjaciele php.pl
Postów: 395
Pomógł: 0
Dołączył: 7.08.2003
Skąd: Kielce

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


czyli jesli chce zrobic to sensownie to klasy wypadaloby podzielic na takie czesci (wymienie kilka):

*zarzadzanie magazynem i tu wszystkie funkcje dotyczace operacji na magazynie
*obsluga klienta wszystko do edycji dodawania danych itp
*sprzedaz (dziedziczy z zarzadzania klientem i obslugi klienta) a zawiera funkcje dotyczacze wystawiania fv itp

Czy dobrze kombinuje z takim układem ?


--------------------
Go to the top of the page
+Quote Post
bulek
post 27.10.2003, 07:57:49
Post #9





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 23.10.2003

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


Trudno mi powiedziec czy to bedzie dobrze moze tak nie widze kodu wiec trudno powiedziec. Moim zdaniem trzeba zawsze pamietac zeby klasy byly zamkniete robily konkretnie jedna rzezcz np klasa do bazy danych nie zawiera zadnego slownika ani dodawania obrazkow smile.gif.
Go to the top of the page
+Quote Post
anas
post 27.10.2003, 23:32:11
Post #10





Grupa: Zarejestrowani
Postów: 172
Pomógł: 0
Dołączył: 22.09.2002
Skąd: Gorzów Wlkp

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


Cytat
1) Jeśli mam obsługę klienta to w klasie powinienem zawrzeć
- dodawanie go
- edycję jego danych
2) dla magazynu
- dodawanie produktow
- wydawanie z magazynu
- kompletowanie z polproduktow itp


Jesli chodzi o 1 - to jak najbardziej tak - tworzysz wkoncu klase(przepis na) klientow - wiec w klasie powinienes miec zbudowana podstawe do przechowywania wszelakich informacji na ich temat - jak i wszelkiego rodzaju metody(funkcje) operujace na tych danych - na tym wlasnie polega programowanie obiektowe...

analogicznie z 2 - znow wszystkie informacje o magazynie(a raczej produktach w nim przechowywanych + czynnosci jakie mozemy na nich wykonac(nasze metody)...

pozdrawiam

anas
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 20.07.2025 - 03:58