Avanti Indietro Indice

1. Cos'è

MLBuilder è una raccolta di classi utili per sviluppari sistemi che hanno verranno usati per generare al volo una interfaccia (o parti di essa).

1.1 Target

MLBuilder non è stato pensato per l'utente (il programmatore, in questo caso) finale: è nata per essere utilizzata facilmente da altro codice PHP che abbia la necessità di generare automaticamente una interfaccia completa (ad esempio una intera pagina web); inoltre, basandosi su MLBuilder, dovrebbe essere estremamente semplice creare classi per la gestione di oggetti meno generici (come singoli tag) o la scrittura di funzioni che realizzino scopi mirati (ad esempio per la visualizzazione di una select HTML).

1.2 Struttura

MLBuilder è diviso in due parti: la prima, nel file mlbuilder.inc, contiene un insieme di classi generiche che definiscono la struttura generale di un insieme di tag; la seconda parte, nei restanti file ".inc" (ad esempio htmlbuilder.inc), contengono una serie di classi derivate dalle precedenti personalizzandole secondo necessità (ad esempio htmlbuilder.inc specifica che i caratteri di apertura e chiusura di un tag HTML sono rispettivamente "<" e ">"). Partendo da queste classi è poi possibile implementarne altre per semplificare la vita all'utilizzatore (ad esempio la classe HTMLTable).

Per informazioni dettagliate sulle interfacce esposte dalle librerie di classi, consultare i documenti che si trovano nella rispettive sottodirectory di "doc" (come "doc/mldbuilder" e "doc/htmlbuilder").

Struttura di mlbuilder

MLBuilder presenta un paio di classi che vorrebbero essere il più possibile generiche e che non dovrebbero essere istanziate direttamente dal cliente, ma usate per creare nuove classi specifiche per una dato sistema di tag.

La classe "MLSimpleTag" genera un tag semplice, con un carattere di apertura del tag, uno di chiusura, il tag stesso e le opzioni ad esso associate.

La classe "MLTag" fornisce la rappresentazione dei tipici "tag contenitori", ovvero le coppie di tag che delimitano una parte del documento e che al loro interno possono contenere ulteriori tag. "MLTag" incapsula quindi due tag di tipo "MLSimpleTag", ha la possibilità di aggiungere opzioni al tag di apertura e di aggiungere elementi al proprio interno.

Struttura di htmlbuilder

Questa raccolta di classi è il tipico cliente di mlbuilder: essa estende la classe "MLSimpleTag" (in "HTMLSimpleTag") con lo scopo di specificare i caratteri di apertura e chiusura dei tag caratteristici dell'HTML (ovvero "<" e ">"); la classe "HTMLTag" prende definisce il tipo di tag che userà al proprio interno (ovvero "HTMLSimpleTag") e modifica quanto necessario per creare correttamente il tag finale.

Partendo da queste due classi è in pratica possibile creare automaticamente una intera pagina HTML; ovviamente alcuni gruppi di tag hanno una struttura leggermente più complessa e si prestano quindi ad essere rappresentati come classi separate che mantengano la propria consistenza; ad esempio abbiamo elementi come "HTMLPage", "HTMLTable" o "HTMLSelect".


Avanti Indietro Indice