The platform | Features | Roadmap | Download | Licensing |EnglishItalian

SourceForge.net Logo

Support Wedgefish development

The Librarian

Using Wedgefish is like having a huge PHP extension at your fingertips.
An expandable library of PHP functions can be built by simply adding files to the modules tree.
Modules can be enabled globally or for each single website.
The platform automatically maintains an index of all available functions and classes, known as the "Code library".
Optionally, all modules functions can be enabled (useful while developing)

Esistono due tipi di libreria: la libreria "globale" contenente le funzioni e le classi definite nel sistema e nei moduli abilitati globalmente, ed una libreria per ciascun sito, contenente le funzioni e le classi contenute nei vari moduli abilitati in ciascun sito.
Durante la fase di elaborazione della richiesta proveniente dall'utente, prima dell'individuazione del sito al quale essa si riferisce, è inizialmente disponibile solo la libreria globale, quindi ad essa viene aggiunta la libreria del sito al quale si riferisce l'URL.
La libreria viene generata alla prima esecuzione della piattaforma e di ciascun sito e ad ogni modifica del file di configurazione globale o di quello del sito, e viene memorizzata nella cache, assieme alla configurazione globale o del sito stesso.
Successivamente sia la configurazione che la libreria, se non modificate, verranno lette dalla cache in formato serializzato, risparmiando tempo.

Ciascuna funzione o classe è associata al nome del file sorgente che contiene la sua definizione.
Qualora una funzione o una classe ricercata non venga trovata, verrà ripetuta la procedura di indicizzazione: questo consente di rilevare i nuovi moduli abilitati di recente e le nuove definizioni di funzioni e classi aggiunte ai moduli e al sistema.
Esiste un indice globale, valido per tutti i siti, contenente l'elenco delle funzioni e delle classi definite nel sistema e nei moduli abilitati globalmente, ed uno per ciascun sito, creato unendo l'elenco delle definizioni di sistema con quelle del sito stesso.
Questa struttura consente di aggiungere a PHP alcune caratteristiche non originariamente previste, che facilitano la vita degli sviluppatori e migliorano la velocità di esecuzione, come spiegato di seguito.

Forget the require hell!

Previously, to use a library of functions and classes you had to include a huge PHP file containing all of their definitions, even if only some of them were actually used.
This wasted server resources, if there were no PHP accelerators, because the PHP engine had to parse all definitions nevertheless.
Another alternative was to split functions in multiple include files, but you had to take note of the exact filename each function was stored in.
Moreover, if you reorganized your include folder by renaming or moving an include file, you had to correct all scripts which were including that file.
With Wedgefish, you neither need to remember the filename of the include file where you placed your needed function, nor try to figure out the exact relative or absolute path.
Just name the function, and it will be automatically included and loaded.
No require or include statement necessary! It is just like if all functions were already defined in the system.
This way, all enabled modules functions are immediately and readily available.
This allows you to save development and debugging time and concentrate on more important aspects of your code than worrying about function and class includes or redefined functions.
 

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.