Avanti Indietro Indice

3. Classi

3.1 MLSimpleTag

Definisce un singolo tag e le sue proprietà.

$openTag

Questa variabile è la stringa che definisce il carattere con cui si apre un tag.

$closeTag

Il carattere di chiusura di un tag.

$tag

Stringa che conserva il tag stesso.

$preTag e $postTag

Stringhe da stampare prima dell'apertura e dopo la chiusura del tag.

$options

Un array contenente tre array i cui indici hanno i nomi di "name", "value" e "isflag" rispettivamente. È utilizzato per conservare le opzioni associate ad un tag. Ad esempio, un tag HTML come "<div>" può avere come opzione "align="center""; in questo caso in name[0] sarà contenuto "align" e in value[0] si troverà la stringa "center"; i valori di isflag indicano se il campo "value" è o meno significativo: se settato a "false" (come di default) il suo valore viene mostrato, altrimenti viene ignorato e non viene visualizzato neppure il segno di uguale; ad esempio il tag HTML <option> contenuto in una select può contenere il valore "selected": in questo caso name[x] sarà "selected, value[x] non ha importanza e isflag[x] è uguale a "true".

MLSimpleTag($text)

Questa funzione è il costruttore della classe: setta il valore di $tag al valore specificato.

draw()

Disegna il tag creato.

addOption($n, [$v=""], [$isflag=false])

Aggiunge una o più opzioni a questo tag. $n può essere una stringa, nel qual caso viene controllato il valore di $v e usato come "value"; $isflag indica se $n è da considerarsi una flag (nel qual caso il valore di $v verrà ignorato) o meno.

Se $n è un array ci si aspetta un array del tipo ritornato da createOptionArray(); in questo modo è possibile aggiungere numerose opzioni con un solo inserimento.

Le opzioni verranno visualizzate all'interno del tag come coppie $n=$v (a meno che non sia stata specificata $isflag, nel qual caso verrà mostrato solo $n).

"_printOptions()"

Funzione ad uso interno che stampa a video le opzioni di questo tag.

3.2 MLTag

MLTag rappresenta una coppia di tag; in HTML un esempio può essere <b> e </b> per racchiudere il tasto da stampare in grassetto.

$beginTag ed $endTag

Sono le due variabili che contengono due oggetti del tipo "SimpleTag" giusto; la prima sarà il tag iniziale (nell'esempio sopra "<b>"), mentre la seconda quello finale ("</b>" nell'esempio). In questo modo si realizza l'incapsulamento di MLSimpleTag in MLTag (ed analogamente in tutte le classi da queste derivate).

$contents

Questa variabile è un array di oggetti del tipo Tag o SimpleTag o di stringhe di testo contenuti all'interno di questo tag. Ad esempio nel codice HTML "<i><b>Ciao</b></i>" la stringa "Ciao" è contenuta nel tag "<b>" che a sua volta è contenuto nel tag "<i>".

$simpleTagClass

È un riferimento al tipo di oggetti da istanziare per le variabili $beginTag ed $endTag e restituiti dalla funzione _createSimpleTag(). Deve venir sovrascritta dalle classi derivate da questa in modo da farla puntare alla giusta discendente di MLSimpleTag.

$tagClass

Analogamente a $simpleTagClass, viene usata dalla funzione _createTag(); normalmente è un riferimento alla classe stessa. Anche qui è importante ricordarsi di sovrascriverla nelle classi derivate.

MLTag($text)

Questa funzione è il costruttore; il parametro da passare sarà il nome del tag. Il costruttore si occupa di creare i due oggetti del tipo SimpleTag; nelle classi derivate da queste (e in tutte le loro discendenti) è importante ricordarsi di richiamare il costruttore del padre.

draw()

Stampa il tag di apertura, tutti i tag contenuti in questo ed infine il tag di chiusura.

add($obj)

Aggiunge un oggetto all'interno di questa coppia di tag; $obj può essere un oggetto (di tipo SimpleTag o Tag), un array di oggetti o una stringa di testo.

addOption($n, [$v=""], [$isflag=false])

Analoga alla funzione addOption di MLSimpleTag: aggiunge le opzioni solo al tag iniziale (ad esempio "<div align="center">Paragrafo</div>").

howMany()

Restituisce un intero che indica il numero di oggetti direttamente contenuti in questo (non conta quindi gli oggetti a loro volta contenuti in quelli nell'array $contents).

"_createTag($t)"

Restituisce un oggetto dello stesso tipo di questo, ovvero un altro Tag.

"_createSimpleTag($t)"

Restituisce un oggetto del tipo SimpleTag.

"_genarray($obj)" e "_addInternal($array)"

Funzioni interne utili durante l'aggiunta di nuovi elementi.

"_drawContents()"

Funzione interna per la visualizzazione del contenuto di questo tag.


Avanti Indietro Indice