waLibs 4.x
La mia prima pagina
... Creiamo quindi un altro file PHP, diciamo pagina1.php, includiamo la nostra applicazione, creiamo una nuova classe che estende la nostra applicazione e istanziamola
<?php
//****************** pagina1.php ***************************************
include __DIR__ . "/testwalibs.inc.php";

class page extends testwalibs
	{

	}

$page = new page();

			
Andate sul vostro browser e richiamate l'URL della pagina (nel nostro esempio: http://localhost/testwalibs/pagina1.php); se ottenete qualche errore tornate indietro e guardate cosa avete sbagliato. Altrimenti avete creato la prima pagina della vostra nuova applicazione. Che ancora una volta non fa assolutamente nulla. Modifichiamo allora il nostro file pagina1.php e istruiamo l'applicazione di mandare in output un elemento della pagina che chiameremo titolo e che conterrà la stringa ciao mondo
<?php
//****************** pagina1.php ***************************************
include __DIR__ . "/testwalibs.inc.php";

class page extends testwalibs
	{
	function doSomething()
		{			
		$this->addItem("ciao mondo", "titolo");
		$this->show();
		}

	}

$page = new page();
$page->doSomething();

			
Finalmente la nostra pagina fa qualcosa. Se, tramite il browser, guardate il sorgente HTML della pagina, vedrete che fa molto più di quanto possa sembrare a un occhio non smaliziato: ha creato una pagina che carica, oltre alle librerie Javascript jQuery e Bootstrap tramite CDN, una serie di fogli di stile CSS (anche uno col nome uguale a quello dell'applicazione e uno col nome uguale a quello della pagina) e una serie di script Javascript (anche uno col nome uguale a quello dell'applicazione e uno col nome uguale a quello della pagina). Inoltre ha creato un <div> di classe CSS waapplication_titolo e all'interno di questo ha pubblicato la stringa ciao mondo. Quindi ora, qualora creaste il file CSS dell'applicazione /var/www/testwalibs/ui/css/testwalibs.css e all'interno di questo definiste lo stile waapplication_titolo... esatto, avete già capito cosa succede.
Il responsabile di tutto ciò, ossia colui che ha trasformato le vostre istruzioni astratte in una pagina HTML di senso compiuto, è il view-object della UI di default di waApplication.
Come già detto, le UI delle waLibs sono quelle sezioni destinate a creare una interfaccia utente personalizzata a fronte delle istruzioni astratte, logiche, che sono le business-rules (i requisiti logici) dell'applicazione. Il come questi requisiti logici vengono funzionalmente presentati all'utente è il compito delle UI.
Ogni oggetto destinato all'output delle waLibs ha una UI di default. Le quali fanno già un sacco di cose (quali e come è documentato all'interno della UI di ogni oggetto), e quindi magari ridefinendo solo gli stili CSS potreste già creare un'applicazione gestionale HTML perfettamente funzionale. Ma se, come è probabile, non tutte le funzionalità di default sono di vostro gradimento, è sufficiente compilare un nuovo view-object, magari partendo come base da quello di default, istruire l'oggetto che deve usare il nuovo view-object al posto di quello di default ed ecco che potete creare 50 versioni funzionalmente diverse della stessa applicazione, delle stesse identiche business-rules. Anche verso client di tipo diverso dai browser HTML.