PHP'de OOP'de Metot Koleksiyonu Olarak Sınıf
Bazen sınıflar, benzer temalara sahip metotları gruplamak için kullanılır. Bu durumda genellikle bu sınıftan sadece bir nesne oluşturulur ve metotları çeşitli durumlarda defalarca kullanılır.
Bir örnek üzerinden görelim. Sayı dizileri üzerinde işlem yapan bir sınıf yapalım:
<?php
class ArrHelper {
}
?>
Bu sınıfın her metodu, bir parametre olarak bir dizi alacak ve üzerinde belirli bir işlem gerçekleştirecektir. Örneğin, aşağıdaki metotlarımız olsun:
<?php
class ArrHelper {
public function getSum($arr) {
// elemanların toplamı
}
public function getAvg($arr) {
// aritmetik ortalama
}
}
?>
Bu metotların gerçekleştirimini yazalım:
<?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;
}
}
}
?>
Bu metotları nasıl kullanacağımıza bakalım. Sınıfımızın bir nesnesini oluşturalım:
<?php
$arrHelper = new ArrHelper();
?>
Nesnemiz yardımıyla çeşitli dizilerin sayı toplamını bulalım:
<?php
$sum1 = $arrHelper->getSum([1, 2, 3]);
var_dump($sum1);
$sum2 = $arrHelper->getSum([3, 4, 5]);
var_dump($sum2);
?>
Bir Validator sınıfı yapın,
dizelerin doğruluğunu
kontrol edecek.
Sınıfınızda bir isEmail metodu yapın,
bir dizenin doğru bir email
olup olmadığını kontrol eden.
Sınıfınızda bir isDomain metodu yapın,
bir dizenin doğru bir alan adı
olup olmadığını kontrol eden.
Sınıfınızda bir isNumber metodu yapın,
bir dizenin sadece sayılar
içerip içermediğini kontrol eden.