Featured Top
Cos’é standardLib

Si tratta di un framework PHP in grado di gestire con poche righe di codice i principali processi utilizzati nello sviluppo di un'applicazione web.

Questo avviene tramite dei modelli standard sui quali é basato il framework
Cosa sono i modelli

standardLib mette a disposizione delle interfacce per gestire operazioni quali:
  • - Registrazione utenti
  • - Autenticazione
  • - Inivo di email dal sito
  • - Paginazione contenuti
  • - Motori di ricerca
  • - Sicurezza
  • - Upload di file
  • - ...e molto altro

Queste interfacce prendono il nome di modelli
Cosa sono i plugins

Grazie allo sviluppo di plugins è possibile estendere i modelli di standardLib o per crearne dei nuovi.

Le procedure per la creazione di plugin sono esposte nell'apposita sezione.
Cosa sono i widgets

I widgets sono dei modelli particolari in grado di creare degli elementi grafici complessi come ad esempio un editor di testo (wysiwyg).

Sviluppare plugins

In questa sezione vedremo come sviluppare un semplice quanto inutile plugin.

Conoscenze di base

Il namespace del file principale di un plugin per standardLib, deve obbligatoriamente avere la seguente forma:

nome.plugin.class

Il nome della classe principale del plugin deve obbligatoriamente essere uguale al nome del plugin.

Il plugin e tutti i file e cartelle che lo compngono dovranno essere in una cartella con lo stesso nome del plugin.

Quello che realizzeremo a scopo didattico, sarà un plugin che stampa a video “Hello world” oppure “Ciao Mondo” un numero definito di volte.

Ci serviranno dunque due parametri: La lingua (lang) ed il numero di volte che la scritta verrà stampata (num).

Iniziamo a creare il file Hello.plugin.php nella cartella Hello.

La nostra classe si chiamerà quindi Hello. Iniziamo a definirla e dichiariamo le due proprietà num e lang. I parametri che intendiamo utilizzare vanno dichiarati come proprietà protette.

@defined(‘SL_ENGINE’) or die(“accessible only by engine.php”); //obbligatorio dalla versione 0.8.4

class Hello
{
	protected $lang;
	protected $num;

Definire i valori di default dei parametri

Il valore di default dei parametri va definito nel costruttore di classe, il quale passa come unico argomento la variabile $option (nome obbligatorio).
Nel nostro caso setteremo come default 1 come numero di frasi stampate e la lingua italiana

//default
$this->lang = "it";
$this->num = 1;

Sovrascrivere i valori passati in fase di inizializzazione a quelli di default

Per eseguire questa operazione sarà sufficiente includere il file setOption.php che si trova nella cartella lib.

//set option
include dirname(__FILE__) . '/../../lib/setOption.php';

A questo punto le proprietà assumeranno l’eventuale nuovo valore passato nell’inizializzazione.

Sviluppare metodi

Ora possiamo sviluppare il metodo pubblico che utilizzeremo per stampare a vido la/le frasi.

public function showHello()
{
	switch($this->lang)
	{
		case "it":
		$text = "ciao mondo";
		break;

		case "en":
		$text = "hello world";
		break;
	}

	for($i = 0; $i < $this->num; $i++)
	{
		echo $text . "\r\n";
	}
}

Il plugin completo sarà ora così

class Hello
{
	protected $lang;
	protected $num;

		public function __construct($option)
		{
			//default
			$this->lang = "it";
			$this->num = 1;

			//set option
			include dirname(__FILE__) . '/../lib/setOption.php';
		}

		public function showHello()
		{
			switch($this->lang)
			{
				case "it":
				$text = "ciao mondo";
				break;

				case "en":
				$text = "hello world";
				break;
			}

			for($i = 0; $i < $this->num; $i++)
			{
				echo $text . "\r\n";
			}
		}
}

Ora copia la cartella Hello contenente il plugin nella cartella plugins di standardLib.

Utilizzare il plugin

Poniamo di voler stampare la frase 5 volte in inglese

include 'standardLib/engine.php';

$model->Plugin("Hello", "num:5,
						 lang:en");

$model->Plugin['Hello']->showHello();