Sto sviluppando un'applicazione PHP e mi trovo a fare praticamente lo stesso codice per, ad esempio, creare un oggetto basato su un modulo compilato dall'utente.
Gli oggetti sono di classi diverse, ma il processo è per lo più lo stesso: prendi i dati dal modulo, applica la convalida, salva / restituisci l'errore.
C'è un modo per automatizzare questo processo? Chiedo anche perché intendo scrivere un'API pubblica e utilizzare lo stesso codice per eseguire tali operazioni, invece di limitarsi a copiare / incollare.
Ho pensato di creare una specie di modello Metodo di fabbrica che riceve il tipo e i dati dal modulo ( o qualsiasi array), creare un'istanza e impostare i dati, testando successivamente la convalida (ogni oggetto sa come convalidare i propri campi). E quello per ognuna delle altre operazioni CRUD.
È fattibile / buona pratica? Dovrei semplicemente ripetere il codice simile? Ci sono altri modi per farlo?
Per la cronaca, sto già usando ORM (Doctrine). Tuttavia, penso che un sacco di create
funzioni con praticamente lo stesso codice (un mucchio di set*
) sia qualcosa di troppo ripetitivo.