Salve,
dopo diversi schizzi e alcune riflessioni mi ritrovo necessariamente a chiedere
l'aiuto della comunità.
Stò cercando di progettare un CMS basato su un core quanto più leggero e
flessibile possibile. Il core da solo è pressoché inutilizzabile in quanto non
fa altro che eseguire alcune operazioni di "startup" e passare subito dopo al
caricamento dei componenti, i quali altro non sono che le funzionalità vere e
proprie del CMS.
La faccenda si complica nel momento in cui si passa all'astrazione del codice
che interagisce col database in quanto, facendo parte di un componente
particolare, non ha modo di essere caricato come gli altri componenti. Il
problema risiede essenzialmente nel fatto che la lista dei componenti viene
letta da un database. Quest'ultimo, a sua volta, che dovrebbe essere caricato
come un normale componente in realtà non può essere caricato perchè non esiste
alcun componente in grado di leggere la lista dei componenti da caricare nel
database, senza il componente database in sé (che fornisce l'interfaccia
d'accesso al database vero e proprio).
La domanda non è se è nato prima l'uovo o la gallina. Ci sono diversi approcci
per gestire il problema (ad esempio fornendo un apposito file di testo o in PHP
con l'elenco dei componenti "vitali" da caricare regolarmente). Tuttavia, spero
che qualcuno possa darmi dei consigli migliori e magari, come sono riusciti a
fare coi compilatori scritti nello stesso linguaggio che compilano, e in un
certo senso si autocompilano, consigliarmi un approccio simile per non avere
differenze concettuali fra il componente database e tutti gli altri.
Grazie anticipatamente per l'aiuto!
Saluti,
Claudio M. Alessi