Przetwarzanie danych csv/xml, przykłady, wzorce, porady |
Przetwarzanie danych csv/xml, przykłady, wzorce, porady |
12.06.2018, 14:45:30
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ń
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. |
|
|
12.06.2018, 15:00:00
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.
|
|
|
12.06.2018, 15:14:29
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 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. |
|
|
12.06.2018, 15:39:43
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.
|
|
|
Wersja Lo-Fi | Aktualny czas: 29.03.2024 - 15:34 |