(Non credere che questa sia una domanda sulle "migliori pratiche" in quanto ritengo che ci sarà una scelta singola migliore ).
Ho bisogno di scegliere un'opzione di archiviazione dei dati per memorizzare dati specifici del sito per consentire una facile gestione e riutilizzabilità: array; classe; DB; Altro; ma non sono sicuro quale sia adeguato.
I dati in questione sono i miei Servizi , che è un elenco di titoli e descrizioni.
Esempio di testo:
On-site SEO
We provide On and Off site SEO, by careful keyword assignment and placement, blah etc, etc blah etc, etc blah etc, etc blah etc, etc blah etc, etc.Logo Design
We can provide clean and elegant logos suited to your current company branding... blah etc, etc blah etc, etc blah etc, etc blah etc, etc blah etc, etc blah etc, etc blah etc, etc blah etc, etc blah etc, etc blah etc, etc.
Ogni titolo non è più di 5 parole e le descrizioni sono di circa 70 parole / 350 caratteri e ho circa 20 titoli e descrizioni.
Poiché i servizi possono essere modificati, ritirati e aggiunti di nuovi, voglio il controllo sui dati - più che modificare un file di visualizzazione / modello in cui viene eseguito l'output / HTML non elaborato, perché I:
- Richiede che i dati siano riutilizzabili su diversi modelli
- Desideri l'opzione di utilizzare solo una parte di ciascun dato, ad es. solo il titolo (i) in modo che a indice di array specifico, metodo di classe, riga della tabella DB, ecc
Sono riluttante a usare un array, date le dimensioni del testo Descrizione e il numero di servizi (20). E potrebbe finire per accedere in modo approssimativo a un valore di array specifico, dovendo conoscere la chiave esatta (il titolo) e la chiave lunga.
Potrei usare un array multidimensionale, con la chiave di livello superiore come riferimento semplice, ma sembra essere eccessivamente efficace per i requisiti.
Sembra uno spreco di classe in quanto i dati stessi sono statici e sento che abuserei un po 'del punto di OOP.
Potrei usare un DB, ma al momento il sito non richiede un DB per qualcos'altro, sebbene sia felice di implementarne uno se ne valga la pena.
Il sito è su un framework, liberamente su MVC / P, quindi può implementare qualsiasi cosa facilmente.
Quindi, fuori dalle opzioni: array; classe; Banca dati; (altro?) quale sarebbe il più adatto per questo scenario?
La differenza di costo non è un problema, poiché sarà abbastanza marginale tra tutte e tre le mie esigenze (sito piccolo, hosting buono ecc.).
L'accesso a tali dati sarà solo su un paio di pagine, quindi averlo in memoria non è un requisito importante (AFAIK).