Manipulation d'objets dans les classes en POO en PHP

Les classes peuvent accepter des objets d'autres classes en paramètres de leurs méthodes et manipuler ces objets. Regardons un exemple. Supposons que nous ayons la classe suivante :

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

Supposons que nous décidions de créer une classe qui manipulera un ensemble d'objets utilisateurs :

php<?php
  class UsersCollection {
    
  }
?>

Nous stockerons les objets utilisateurs sous forme de tableau dans une propriété privée :

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

Créons une méthode pour ajouter un nouvel utilisateur au tableau :

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

Et maintenant, créons une méthode qui affichera les noms de tous les utilisateurs :

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

Regardons le fonctionnement de notre classe. Commençons par créer son objet :

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

Maintenant, ajoutons à notre collection plusieurs utilisateurs :

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

Et maintenant, appelons la méthode qui affichera les noms de tous les utilisateurs :

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

Créez une classe EmployeesCollection, qui contiendra un tableau d'employés.

Задание 2

Créez dans cette classe une méthode pour ajouter un nouvel employé.

Задание 3

Créez dans cette classe une méthode pour afficher tous les employés.

Задание 4

Créez dans cette classe une méthode pour calculer le salaire total de tous les employés.

Задание 5

Créez dans cette classe une méthode pour calculer le salaire moyen de tous les employés.