Manipulacija objektima u klasama u OOP u PHP-u

Klase kroz parametre metoda mogu prihvati objekte drugih klasa i manipulisati tim objektima. Pogledajmo na primeru. Neka postoji sledeća klasa:

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

Recimo da želimo da napravimo klasu koja će manipulisati skupom objekata korisnika:

php<?php
  class UsersCollection {
    
  }
?>

Čuvaćemo objekte korisnika u vidu niza u privatnom svojstvu:

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

Napravimo metodu za dodavanje novog korisnika u niz:

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

A sada napravimo metod koji će ispisati imena svih korisnika:

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

Pogledajmo rad naše klase. Prvo kreirajmo njen objekat:

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

Sada dodajmo u našu kolekciju nekoliko korisnika:

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

A sada pozovimo metod koji će ispisati imena svih korisnika:

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

Napravite klasu EmployeesCollection, koja će sadržati niz zaposlenih.

Задание 2

Napravite u ovoj klasi metod za dodavanje novog zaposlenog.

Задание 3

Napravite u ovoj klasi metod za ispis svih zaposlenih.

Задание 4

Napravite u ovoj klasi metod za proračun ukupne plate svih zaposlenih.

Задание 5

Napravite u ovoj klasi metod za proračun prosečne plate svih zaposlenih.