Klasa jako zestaw metod w OOP w PHP
Czasami klasy są używane do grupowania metod o podobnej tematyce. W tym przypadku zazwyczaj tworzony jest tylko jeden obiekt tej klasy, a jego metody są używane wielokrotnie w różnych sytuacjach.
Spójrzmy na przykład. Stwórzmy klasę, która będzie manipulować tablicami liczb:
<?php
class ArrHelper {
}
?>
Każda metoda tej klasy będzie przyjmować tablicę jako parametr i wykonywać na niej określoną operację. Niech, na przykład, będą to następujące metody:
<?php
class ArrHelper {
public function getSum($arr) {
// suma elementów
}
public function getAvg($arr) {
// średnia arytmetyczna
}
}
?>
Napiszmy implementację tych metod:
<?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;
}
}
}
?>
Zobaczmy, jak będziemy używać tych metod. Stwórzmy obiekt naszej klasy:
<?php
$arrHelper = new ArrHelper();
?>
Znajdźmy za pomocą naszego obiektu sumę liczb różnych tablic:
<?php
$sum1 = $arrHelper->getSum([1, 2, 3]);
var_dump($sum1);
$sum2 = $arrHelper->getSum([3, 4, 5]);
var_dump($sum2);
?>
Stwórz klasę Validator,
która będzie wykonywać sprawdzanie
ciągów znaków na poprawność.
Stwórz w swojej klasie metodę
isEmail, sprawdzającą ciąg znaków pod kątem tego,
czy jest poprawnym emailem.
Stwórz w swojej klasie metodę
isDomain, sprawdzającą ciąg znaków pod kątem tego,
czy jest poprawną nazwą domeny.
Stwórz w swojej klasie metodę
isNumber, sprawdzającą ciąg znaków pod kątem tego,
czy zawiera tylko liczby.