La piattaforma | Caratteristiche | Sviluppo | Scarica | Licenza |EnglishItalian

SourceForge.net Logo

Support Wedgefish development

Il preprocessore di codice integrato

Wedgefish dispone di serie di un preprocessore di codice integrato, assimilabile ad un vero e proprio compilatore.
Esso interpreta ogni file contenente codice al primo utilizzo, saltando tutti i commenti e gli spazi vuoti e producendo un nuovo sorgente PHP in formato compatto, con sintassi ottimizzata per aumentarne la velocità di esecuzione.
Il codice così riscritto viene quindi memorizzato nella cache del codice, dal quale verrà successivamente incluso al posto del file originale qualora esso non sia stato modificato nel frattempo.
Qual'è lo scopo di tale architettura?
  • Tutte le funzioni aventi nome preceduto dal prefisso "wos_" utilizzate nei sorgenti verranno caricate ed incluse automaticamente dalla piattaforma, utilizzando il potente librarian facente parte del core. Questo consente di fare a meno delle istruzioni include e require: non è più necessario ricercare la posizione nel filesystem dei files da includere, né caricare per intero il codice dei moduli utilizzati;
  • I sorgenti contenenti testi da visualizzare possono essere facilmente localizzati, racchiudendo i testi da tradurre tra [[ e ]]. Sarà poi possibile tradurre tali testi in tutte le lingue richieste da un'interfaccia web, oppure esportarli in un file .po e tradurli offline utilizzando un software desktop quale poEdit(*);
  • I valori delle costanti saranno sostituiti automaticamente nel codice compilato. Ciò consente di aumentare leggermente la velocità di interpretazione e di esecuzione e di raccogliere tutte le costanti in un unico file che non dovrà essere incluso da ogni sorgente;
  • Tutte le variabili il cui nome è preceduto dal prefisso "$WOS_" saranno rese automaticamente globali;
  • Sarà possibile limitare l'uso di talune funzioni secondo particolari criteri di sicurezza(*)
  • Qualora non sia stato installato alcun acceleratore PHP (cache del codice) questo consente di aumentare la velocità di caricamento e di interpretazione (parsing) del codice della piattaforma e di tutti i moduli caricati dinamicamente: questo vuol dire che, anche in caso il codice contenga commenti molto lunghi e documentazione esaustiva, il tempo di caricamento delle pagine rimarrà sempre lo stesso;
  • Tale architettura apre la possibilità di implementare compilatori di codice di tipo arbitrario. Sarà quindi possibile sviluppare moduli, controllers ed anche componenti del core in linguaggi differenti da PHP, sebbene il codice eseguito venga comunque tradotto in PHP(*)
(*) Questa funzione verrà implementata in una prossima versione
 

Wedgefish - Copyright © 2005-2008 by Massimiliano Alessandri
This is free software, and you may redistribute it under the Affero GPL.
Wedgefish comes with absolutely no warranty; for details, see the license.
You may download the currently running source code for this software.