![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 371 Pomógł: 30 Dołączył: 14.04.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
z góry przepraszam za temat, ale nie wiem jak go sensownie nazwać. Już przedstawiam problem: Mam jakieś dane w formacie xml:
Jak widać w levelsTable są grupy a w nich produkty. Co chciałbym zrobić: chciałbym utworzyć następujące klasy: -product - zawierają produkty -products - zawierająca kilka produktów -productGroup - zawierająca grupę produktów -productGroups - zawierająca kilka grup -oraz Data(nazwa pewnie będzie inna (IMG:style_emoticons/default/smile.gif) ) - która będzie sortowała dane oraz zawierała listę pól klas powyżej W czym mam problem: - z utworzeniem klas products, productGroup oraz productGroups. W tabeli produkt umieszczam parametry czyli name i link oraz settery i gettery. Problem jest w tym że nie wiem co umieścić w w products żeby zawierała odpowiednie pola? No i kolejne klasy, co powinny zawierać? Chodzi generalnie żeby klasy ładnie były od siebie uzależnione i nawzajem się wywoływały, tzn. wywoływana będzie ostatnia klasa Data, ale chciałbym, jeśli to możliwe mieć dostęp do klasy products. Nie wiem czy to dobrze opisałem, postaram się dopowiedzieć. Od razu napiszę że nie jest jakieś zadanie domowe:), po prostu znalazłem gdzieś coś podobnego, jednak nie mam dostępu do tego kodu, a chciałbym to przećwiczyć (IMG:style_emoticons/default/smile.gif) Proszę o pomoc, wytlumaczenie co tam ma być, przykład, jednym słowem - cokolwiek (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
O ile dobrze zrozumiałem, szukasz mappera XML-obiekty. W takim razie biblioteka JMS\Serializer może Cię zainteresować.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 371 Pomógł: 30 Dołączył: 14.04.2010 Ostrzeżenie: (0%) ![]() ![]() |
Wiem że nie lubicie takich pytań ale muszę je zadać:
jak to pobrać? bo chciałbym zobaczyć samą bibliotekę. Nie używam composer, projekt mam oparty o codeigniter. Jak mniemam to samo jest tu: https://github.com/schmittjoh/JMSSerializer...lizerBundle.php Widzę że w tym pliku to są odwołania do kolejnych, no ale chyba jestem ślepy bo nie widzę ich w strukturze. No i na końcu - choć najważniejsze - dzięki za odpowiedź, wiem czego szukać, tylko że mnie bardziej interesuje zbudowanie własnej biblioteki do tego, a ta podana jest dla mnie trochę zawiła ;/ |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
1. Ciebie interesuje JMSSerializer (biblioteka), nie JMSSerializerBundle (integracja biblioteki z Sf2).
2. Repozytorium: https://github.com/schmittjoh/serializer 3. Cytat [...] tylko że mnie bardziej interesuje zbudowanie własnej biblioteki do tego [...] Ale dlaczego sam sobie rzucasz kłody pod nogi?
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 371 Pomógł: 30 Dołączył: 14.04.2010 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za linki, zaraz zobaczę (IMG:style_emoticons/default/smile.gif)
3. Ale dlaczego sam sobie rzucasz kłody pod nogi? Ponieważ chce zrobić coś takiego(czyt. bibliotekę) dla nauki/lepszego zrozumienia. Każdy inaczej się uczy, jeden człowiek odpali symfony i wystarczy mu dokumentacja do zrozumienia programowania, inny musi zbudować swój framework by przekonać się że własne rozwiązanie jest gorsze. Analogicznie w tej sytuacji (IMG:style_emoticons/default/smile.gif) . Trochę przeglądnąłem tą bibliotekę, możecie podpowiedzieć czy dobrze rozumiem jakby to mogło wyglądać w moim przykładzie? Klasa product:
a klasa products:
Czy coś takiego jest chociaż w części poprawne? Bo jeśli tak to resztę zbuduję przez analogię. Jeśli nie to jakby to mogło wyglądać? Proszę o pomoc. Z góry dziękuję. Ten post edytował webmaniak 10.02.2013, 20:31:16 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
1. Wymyślanie koła od nowa w ramach nauki jest jeszcze OK, chociaż z tego co zauważyłem nauka korzystania z istniejących narzędzi przyspiesza naukę samą w sobie. (IMG:style_emoticons/default/wink.gif)
2. Czy aby na pewno potrzebujesz osobnego obiektu do reprezentacji kolekcji obiektów Product? Może zwykła tablica/ArrayObject, albo jakaś gotowa kolekcja ogólnego przeznaczenia (np. ArrayCollection z Doctrine Commons) będzie wystarczająca? 3. O ile w przypadku klasy Product nie ma się do czego przyczepić (ot, zwykła klasa typu POPO), tak w przypadku klasy Products (lepszą nazwą byłoby ProductCollection) nie bardzo rozumiem cel właściowści names czy levels - chyba, że mają one udostępniać szybki dostęp do kolekcji dostępnych nazw/poziomów w całym zbiorze. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 371 Pomógł: 30 Dołączył: 14.04.2010 Ostrzeżenie: (0%) ![]() ![]() |
ad1. No właśnie nie każdemu przyspiesza, bo np. używam rutingu w Codeigniter, ale jak on działa to nie wiem, bo jest napisany gotowy - jak to we frameworku, no i jakbym miał np. w ramach testu gdzieś napisać prosty routing albo opisać jego działanie pewnie bym poległ - to tylko przykład z routingiem (IMG:style_emoticons/default/smile.gif) .
ad2. Hmm, taką założyłem sobie strukturę, W mojej koncepcji ma to głębszy sens - ale nie jestem w stanie wytłumaczyć tutaj jaki (IMG:style_emoticons/default/smile.gif) jak będzie więcej kodu to przedstawię (IMG:style_emoticons/default/smile.gif) ad3. ProductCollection to będzie ostatnia klasa zawierająca listę pól. No i tak jak pisałeś 3. O ile w przypadku klasy Product nie ma się do czego przyczepić (ot, zwykła klasa typu POPO), tak w przypadku klasy Products (lepszą nazwą byłoby ProductCollection) nie bardzo rozumiem cel właściowści names czy levels - chyba, że mają one udostępniać szybki dostęp do kolekcji dostępnych nazw/poziomów w całym zbiorze. w moim zamyśle to ma być dostęp do klasy product, w groupproduct do kilku product a w groupproducts do kilku grupproduct. Czyli to co przedstawiłem "trzyma się kupy"? Po głębszym namyśle sam zastanawiam się nad tymi właściwościami names i levels. Czyli zostawić samo products i w konstruktorze foreach który będzie przechodził po wszystkich product? Ten post edytował webmaniak 10.02.2013, 21:28:28 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
Cytat ProductCollection to będzie ostatnia klasa zawierająca listę pól. Pomyliłeś kolejności (IMG:style_emoticons/default/wink.gif) w takim prymitywnym uproszczeniu
ps. zobacz do Zenda lub Symfony jak tam wyglądają kolekcje (ogólnie poczytaj na googlu o tym jak tworzą je ludzie z wieloletnim doświadczeniem i do czego można je wykorzystać) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 2.10.2025 - 19:23 |