![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 29.12.2004 Ostrzeżenie: (0%) ![]() ![]() |
pisze system do obslugi biblioteki,chcialam zeby byl fajnie modularny,wiec podzielilam go na klasy i takie tam.i wszystko bylo dobrze,bo w sumie fajnie sie tworzy nowe dane za pomoca obiektow(tylko new i hop do tabeli za pomoca mysql_query),w ten sposob w klasie obslugujacej ksiazki mam dane o nich jako wlasciwosci oraz w tym momencie dwie funkcje - konstruktor i dodawanie,ale...zastanawiam sie jak w podobny sposob zrealizowac edycje i usuwanie i czy wogole sie oplaca.
myslalam zeby zrobic to tak,ze chce usunac ksiazke jakas tam z listy,no to tworze tyle obiektow ile ma lista,wyswietlam je,a nastepnie usuwam ten pasujacy do tego ktory chce usunac,no ale jak bede miec tysiac ksiazek a usuwac bede jedna to chyba ladna bzdura.no ale tylko w ten sposob moge korzystac z funkcji usuwania w klasie ksiazki. i wlasnie nie wiem czy zrezygnowac z tego usuwania w klasie i zrobic poza klasa zwykle funkcje do usuwania ktorej argumentem bedzie jakies id ksiazki np? no ale czy to nie bedzie "mniej elegancko" niz na klasach? jak myslicie? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 698 Pomógł: 3 Dołączył: 28.03.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Dobrym wyjściem jest stworzenie klasy pojedynczej książki oraz kontenera. Kontener by się zajmował pobieraniem listy książek, które ciebie interesują i przypisywaniu danych z bazy do obiektów. Jeden obiekt = jedna książka. Oczywiście klasa książka (powiedzmy, że tak ją nazwiemy) posiada wszystkie informacje. Wtedy jest sens dopisywania dwóch metod do klasy książka - do edycji i usuwania. Myślę, że to jest najbardziej eleganckie rozwiązanie. Mam nadzieję, że opisałem to w miare zrozumiale. Jeszcze można to przedstawić w formie interfejsów.
Przynajmniej ja tak to widzę. -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 657 Pomógł: 2 Dołączył: 15.08.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
kiedys bodajrze @hawk w pewnej dyskusji na jakiś tam mój problem
stwierdził, że raczej usuwanie powinno być w kontenerze. Czemu? Kod $ksiazka = new Ksiazka($jakiesID) $ksiazka->usun(); co w tym momencie reprezentuje obiekt $ksiazka? ;] -------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 698 Pomógł: 3 Dołączył: 28.03.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Możesz wyzerować wartości przy usuwaniu i zwracać nulle przy dostępie do książki, ale masz rację, lepiej będzie w kontenerze usuwanie umieścić.
-------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 657 Pomógł: 2 Dołączył: 15.08.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
tak w ogóle polecam także autorowi wątku zainteresować się czymś co nazywają DAO
-------------------- |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 29.12.2004 Ostrzeżenie: (0%) ![]() ![]() |
mysle,ze rozumiem o co chodzi z tym kontenerem,ze tez sama na to nie wpadlam;)
co do dao to mi sie jakos niebezpieczenie z accessem kojarzy.tak czy inaczej dzieki:) |
|
|
![]()
Post
#7
|
|
Administrator PHPedia.pl Grupa: Developerzy Postów: 1 102 Pomógł: 2 Dołączył: 14.09.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(Braszynka @ 2004-12-29 21:17:32) mysle,ze rozumiem o co chodzi z tym kontenerem,ze tez sama na to nie wpadlam;) co do dao to mi sie jakos niebezpieczenie z accessem kojarzy.tak czy inaczej dzieki:) a mi jakos z Javą ![]() -------------------- |
|
|
![]() ![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 8.01.2004 Skąd: 3miasto Ostrzeżenie: (0%) ![]() ![]() |
a ja bym polecił jakieś mapowanie O/R, np Propel
super fajna rzecz - tworzy za Ciebie obiekty odpowiadające obiektom w DB... masz też metody do szukania, dodawania, kasowania... I mi to się kojarzy z Hibernate z Javy ![]() Pozdrawiam -------------------- Nie ma takiej bzdury, której nie da się uzasadnić modelem komputerowym.
Tools: Apache 2.0.53 || PHP 5.0.3 || MySQL 4.1.7 || Zend Studio 4 || Eclipse Platform || Dreamwea |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 521 Pomógł: 0 Dołączył: 3.11.2003 Skąd: 3city Ostrzeżenie: (0%) ![]() ![]() |
No bez przesady. Między propel a hibernate jest cała przepaść. Hibernate dla php nie ma i pewnie nie będzie, chociaż na sitepoincie można zobaczyć ciekawe próby. Co innego hibernowanie w Javie raz na jakiś czas, a co innego w php setki? razy na sekundę.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 13:06 |