La classe come insieme di metodi in OOP in PHP
A volte le classi vengono utilizzate per raggruppare metodi di argomento simile. In questo caso di solito viene creato solo un oggetto di questa classe e i suoi metodi vengono utilizzati più volte in varie situazioni.
Vediamo un esempio. Creiamo una classe che manipolerà array di numeri:
<?php
class ArrHelper {
}
?>
Ogni metodo di questa classe riceverà come parametro un array ed eseguirà su di esso l'operazione specificata. Supponiamo, ad esempio, che abbiamo i seguenti metodi:
<?php
class ArrHelper {
public function getSum($arr) {
// somma degli elementi
}
public function getAvg($arr) {
// media aritmetica
}
}
?>
Scriviamo l'implementazione di questi metodi:
<?php
class ArrHelper {
public function getSum($arr) {
$res = 0;
foreach ($arr as $num) {
$res += $num;
}
return $res;
}
public function getAvg($arr) {
$len = count($arr);
if ($len > 0) {
$sum = $this->getSum($arr);
return $sum / $len;
} else {
return 0;
}
}
}
?>
Vediamo come useremo questi metodi. Creiamo un oggetto della nostra classe:
<?php
$arrHelper = new ArrHelper();
?>
Troviamo con l'aiuto del nostro oggetto la somma dei numeri di vari array:
<?php
$sum1 = $arrHelper->getSum([1, 2, 3]);
var_dump($sum1);
$sum2 = $arrHelper->getSum([3, 4, 5]);
var_dump($sum2);
?>
Crea una classe Validator,
che eseguirà il controllo
delle stringhe per la correttezza.
Aggiungi nella tua classe il metodo
isEmail, che controlla se la stringa è
un email valido.
Aggiungi nella tua classe il metodo
isDomain, che controlla se la stringa è
un nome di dominio valido.
Aggiungi nella tua classe il metodo
isNumber, che controlla se la stringa
contiene solo numeri.