![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 155 Pomógł: 0 Dołączył: 22.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam, muszę napisać moduł importujący dane z plików csv/xml do sklepu. Pisałem już kiedyś takie coś ale wyszło mi totalne spaghetti więc tym razem szukam porad i ciekawych rozwiązań (IMG:style_emoticons/default/smile.gif)
Można macie jakieś przykłady (github) jak podejść do sprawy od strony obiektowej, konstrukcji takiej aplikacji, klas etc. Jak zbudować mechanikę pomiędzy plikiem csv z danymi produktu (nazwa, cena etc.) a obiektem w docelowym systemie. W przyszłości mogą dochodzić inne formaty danych więc aplikacja musi być prosta w rozbudowie, chciałbym trzymać się nowoczesnych standardów. Będę wdzięczny za wszelakie rady czy przykłady aplikacji. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Przede wszystkim trzeba zamienić dane na jakiś przyzwoity format, czyli obiekty i tablice. Nie pisz niczego sam, tylko skorzystaj z wbudowanej obsługi albo bibliotek do czytania CSV/XML. Byli już tacy, co sami się bawili w parsowanie CSV i kończyło się to tragicznie. Na Twoim miejscu zająłbym się osobno przetwarzaniem formatu i osobno użyciem wynikowego obiektu/tablicy w modelach.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 155 Pomógł: 0 Dołączył: 22.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za zainteresowanie, akurat z csv to prosta sprawa można skorzystać np. z SplFileObject.
Pytanie co dalej (IMG:style_emoticons/default/smile.gif) Mamy tablicę danych i jakiś ProductFactory, do tego walidacja czy dane są poprawne. Ja myślałem o czymś takim: 1. Jakiś interfejs do odczytu danych żeby niezależnie od formatu pliku zwracał tablicę z danymi produktu 2. Jakiś konwerter/walidator żeby dane skonwertować do poprawnego formatu (nazwy, html opisu) 3. ProductFactory do tworzenia obiektów i zapisu Przydały by się jakieś przykłady podobny aplikacji. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Przykładem może być dowolny ORM. One zwykle pozwalają na stworzenie modelu z tablicy asocjacyjnej, nie ma w tym niczego egzotycznego.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.09.2025 - 03:15 |