Объектҳоро дар синфҳои ООП дар PHP идора кардан

Синфҳо метавонанд объектҳои синфҳои дигарро ба сифати параметрҳои методҳо қабул кунанд ва ин объектҳоро идора кунанд. Биёед ба мисол нигарем. Фарз мекунем, ки синфи зеринро дорем:

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

Фарз мекунем, ки мо қарор додем як синф созем, ки ҳамаи объектҳои корбаронро идора кунад:

php<?php
  class UsersCollection {
    
  }
?>

Объектҳои корбаронро дар шакли массив дар хосияти хусусӣ нигоҳ медорем:

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

Як метод барои илова кардани корбари нав ба массив месозем:

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

Ва акнун як метод месозем, ки номҳои ҳамаи корбаронро чоп мекунад:

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>';
      }
    }
  }
?>

Биёед ба кори синфи худ нигарем. Аввалан объекти онро месозем:

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

Акнун ба коллекцияи мо якчанд корбар илова мекунем:

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

Ва акнун методро даъват мекунем, ки номҳои ҳамаи корбаронро чоп мекунад:

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

Синфи EmployeesCollection-ро созед, ки массивҳои кормандонро дар бар гирад.

Задание 2

Дар ин синф усули методро барои илова кардани корманди нав созед.

Задание 3

Дар ин синф усули методро барои чоп кардани ҳамаи кормандон созед.

Задание 4

Дар ин синф усули методро барои ҳисоб кардани маҳсули маоши ҳамаи кормандон созед.

Задание 5

Дар ин синф усули методро барои ҳисоб кардани миёнаи маоши ҳамаи кормандон созед.