PHP-də OOP-də Sinif Objektləri ilə İdarəetmə

Sinif metodları digər siniflərin obyektlərini qəbul edə və bu obyektlərlə işləyə bilər. Nümunəyə baxaq. Tutaq ki, aşağıdakı sinifimiz var:

php<?php
  class User {
    private $name;
    
    public function __construct($name) {
      $this->name = $name;
    }
    
    public function getName() {
      return $this->name;
    }
  }
?>

Tutaq ki, istifadəçi obyektləri dəstəsi ilə işləyəcək bir sinif yaratmaq qərarına gəldik:

php<?php
  class UsersCollection {
    
  }
?>

İstifadəçi obyektlərini xüsusi bir xüsusiyyətdə massiv şəklində saxlayacağıq:

php<?php
  class UsersCollection {
    private $users;
    
    public function __construct() {
      $this->users = [];
    }
  }
?>

Massivə yeni istifadəçi əlavə etmək üçün bir metod edək:

php<?php
  class UsersCollection {
    private $users;
    
    public function __construct() {
      $this->users = [];
    }
    
    public function add($user) {
      $this->users[] = $user;
    }
  }
?>

İndi isə bütün istifadəçilərin adlarını çıxaracaq bir metod edək:

php<?php
  class UsersCollection {
    private $users;
    
    public function __construct() {
      $this->users = [];
    }
    
    public function add($user) {
      $this->users[] = $user;
    }
    
    public function show() {
      foreach ($this->users as $user) {
        echo $user->getName() . '<br>';
      }
    }
  }
?>

Gəlin sinifimizin işinə baxaq. Əvvəlcə onun obyektini yaradaq:

php<?php
  $uc = new UsersCollection();
?>

İndi kolleksiyamıza bir neçə istifadəçi əlavə edək:

php<?php
  $uc->add(new User('john'));
  $uc->add(new User('eric'));
  $uc->add(new User('kyle'));
?>

İndi isə bütün istifadəçilərin adlarını çıxaran metodu çağıraq:

php<?php
  $uc->show();
?>
Задание 1

EmployeesCollection sinifini edin, bu işçilərin massivini ehtiva edəcək.

Задание 2

Bu sinifdə yeni işçi əlavə etmək üçün metod edin.

Задание 3

Bu sinifdə bütün işçiləri çıxarmaq üçün metod edin.

Задание 4

Bu sinifdə bütün işçilərin ümumi əmək haqqını hesablamaq üçün metod edin.

Задание 5

Bu sinifdə bütün işçilərin orta əmək haqqını hesablamaq üçün metod edin.