Qual è la migliore pratica per lo sviluppo di un quadro importazione dei dati di PHP?

StackOverflow https://stackoverflow.com/questions/527540

  •  22-08-2019
  •  | 
  •  

Domanda

Durante il nostro lavoro come sviluppatore web per una società meteorologica, ci troviamo di fronte con lo stesso compito più e più volte: Ottenere alcuni file da qualche parte (FTP / Web / directory / mail) e importare i dati contenuti in un database <. / p>

Naturalmente il formato di file non è mai la stessa, i database sono sempre progettati in modo diverso, innumerevoli casi particolari devono essere maneggiati, ecc, ecc.

Così ora sto progettando un quadro importazione proprio per questo tipo di lavoro. Dal momento che siamo tutti gli sviluppatori PHP esperti e gli script attuali sono o PHP o Perl, ci proverà con PHP come linguaggio di scripting.

  • Un getter dati verrà recuperato il file dalla sorgente, aprirlo e memorizzare il contenuto in una variabile stringa. (Non ti preoccupare, PHP otterrà abbastanza memoria da noi.)
  • Il gestore dei dati farà il lavoro complicato per convertire la stringa in una sorta di array.
  • La matrice sarà salvato nel database o scritti in un nuovo file o qualsiasi altra cosa dovremmo fare con esso.

Con questa funzionalità ci sarà qualche gestione degli errori comuni, log scrittura e di reporting e-mail.

L'idea è quella di utilizzare una collezione di classi (Alcuni getter-classi, un sacco di gestori specializzati, alcune classi Writer).

La mia domanda: Come faccio praticamente organizzo queste classi in uno script di lavoro? Ho inventato una sorta di meta-linguaggio che verranno interpretati e le classi sono chiamati di conseguenza? O semplicemente fornire alcuni semplici interfacce queste classi devono implementare ei miei utenti (come ho già detto: gli sviluppatori PHP esperti)? Scriveranno gli script PHP piccoli loading queste classi

La seconda versione offre quasi certamente il più grande flexiblity ed estensibilità.

Avete altre idee riguardanti una simile impresa?

È stato utile?

Soluzione

Lavorare in un ambiente simile di decine di diversi formati di dati esterni che devono essere im- ed esportati, posso consigliare ad almeno cercare e portarli a unificare i formati di dati. Abbiamo avuto un certo successo con lo sviluppo di strumenti che aiutano gli altri al di fuori della nostra azienda per trasformare i dati in nostro format. Abbiamo anche dato loro il codice sorgente, gratuitamente.

Alcuni altri sono ora trasformando i loro dati per noi utilizzando i nostri strumenti, e se cambiano il loro formato, è loro che cambia lo strumento di trasformazione. Una causa di un mal di testa meno per noi.

In un caso è anche portare ad un'altra società di passare al formato di file i nostri sistemi utilizzano internamente. Certo, è solo un caso, ma lo considero un primo passo di un lungo cammino; -)

Altri suggerimenti

Suggerisco concetti di finanziamento da Data Transformation Services (DTS). Si potrebbe avere fonti di dati e lavandini di dati, attività di importazione, le attività di trasformazione e così via.

C'è un motivo per cui la definizione di un servizio di web standard non sarebbe lavorare qui? Quindi è possibile fornire i dati in un formato standard, restituendo un errore di SOAP (possibilmente popolato da un campo nel documento di input) se c'è un guasto.

E 'potenzialmente più limitata di suggerimento di Pavel (o richiederebbe più di design up-front), ma potrebbe essere qualcosa da prendere in considerazione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top