Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
programming:php-singlethon-pattern [2014/05/24 18:56] – creata Giuseppe Di Terlizzi | programming:php-singlethon-pattern [2014/08/21 18:40] (current) – Giuseppe Di Terlizzi | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== | + | ====== PHP: Singleton Pattern |
- | Con questa guida descriveremo come creare una classe che implementa il pattern //singlethon//. | + | {{http:// |
- | Come suggerisce il nome il pattern singleton è un particolare pattern che permette ad una classe di essere istanziata "una sola volta" | + | Come suggerisce il nome, il pattern singleton è un particolare pattern che permette ad una classe di essere istanziata "una sola volta" |
- | Ma adesso vediamo | + | Ma adesso vediamo |
===== Codice ===== | ===== Codice ===== | ||
- | <code .php> | + | |
+ | <file php Singleton.php> | ||
<?php | <?php | ||
- | class Singlethon | + | class Singleton |
private static $instance; | private static $instance; | ||
Line 30: | Line 31: | ||
} | } | ||
- | </code> | + | </file> |
+ | |||
+ | Come possiamo vedere il codice contiene poche righe ed è molto intuitivo. | ||
- | Come possiamo vedere | + | * Prima di tutto abbiamo reso privato |
+ | * Abbiamo impedito di //clonare// la classe richiamando la funzione '' | ||
+ | * Nel codice | ||
Così come abbiamo scritto la classe non permette di fare molto ma // | Così come abbiamo scritto la classe non permette di fare molto ma // | ||
- | Comeesempio | + | Come esempio di utilizzo, |
- | <code .php> | + | <file php Registry.php> |
<?php | <?php | ||
- | include | + | include |
| | ||
- | class Registry extends | + | class Registry extends |
private static $registry = array(); | private static $registry = array(); | ||
Line 67: | Line 72: | ||
} | } | ||
- | </code> | + | </file> |
- | Abbiamo esteso la classe | + | Abbiamo esteso la classe |
<code .php> | <code .php> | ||
<?php | <?php | ||
- | include Registry.php; | + | include |
$registry = Registry:: | $registry = Registry:: | ||
Line 83: | Line 88: | ||
</ | </ | ||
- | {{tag> | + | Adesso mettete in moto la vostra immaginazione per utilizzare questo semplice ma utile pattern nel vostro codice. |
+ | |||
+ | Buona programmazione! | ||
+ | |||
+ | {{tag> |