holaz,
sto sviluppando il mio ennesimo framework, questa volta però è veramente MOLTO figo, ma veramente assai
Tutto sviluppato in OOP, uso estremo delle eccezioni, e separazione assoluta delle varie componenti!
Ho quasi finito lo sviluppo di tutte le funzionalità, qui di seguito quelle implementate:
- DBAL, Database Abstraction Layer, un sistema di astrazione di database che mi permette di sfruttare connessioni ai vari database aggirando anche, parzialmente, il problema legato alla licenza gpl/commerciale di MySQL (il mio codice non è più strettamente legato a MySQL, è possibile eseguirlo su tutti i backend implementati, tra i quali saranno presenti sqlite e postgres, oltre a mysql e mysqli)
- TemplateEngine, basato su eval e str*, al posto delle regexp, per ridurre notevolmente i tempi, con un mini sistema di caching intero per evitare il reload/reparsing, oltre al fatto che è in grado di parsare QUALSIASI quantità di sub-blocchi senza usare la ricorsività ... rallenta di pochissimo rispetto ai sistemi normali (ergo ricorsività) ma è implementato bene quindi recupera su tutto il resto. Inoltre usando EVAL posso richiamare i metodi di variabili che passo di conseguenza di default basta impostare delle variabili per riferimento in modo da sfruttare le varie estensioni che si vogliono inserire come il multi-lingua, multi-valuta e cosi via
- Messaggi Multilingua, sistema centralizzato per la gestione dei messaggi su più lingue, divise in sezioni, tutto su database ovviamente, sfruttando il sistema di caching intero + quello del database ... il tutto usa DBAL
- SessionManager, sistema di gestione delle sessioni su database, che ovviamente si poggia su DBAL
- HeaderManager, per la gestione degli headers
- ModuleManager, per la gestione dei modulo
- OutputBufferManager, per la gestione dell'output (aggiunta di dati all'uscita + compressione)
- Classe Generica Framework, per metodi standard
Devo ancora implementare:
- CacheEngine, per la gestione del semi-caching dei contenuti
- ImageManager, per la gestione delle immagini, upload e cosi via, tutto su db o su filesystem
- ExtensionManager, che si occupera di caricare delle classi specifiche e conservarle in un'apposito elenco per poi permetterne l'utilizzo a moduli, template e cosi via, centralizzando le funzionalità ed evitando inutili controlli aggiuntivi
Questo è quello che devo fà ... avete idee utili? roba che mi conviene aggiungere, che ritenete utili, che secondo voi possono serviere ... dai sparate![]()