АКЦЫЯ: бясплатныя месячныя курсы па стварэнні сайтаў
на выбар: вёрстка, JavaScript, PHP, Python або фрэймворкі. Сёння апошні дзень для запісу! Націскай!
⊗ppOpAdCOM 22 of 107 menu

Маніпуляцыя аб'ектамі ў класах у ААП у PHP

Класы параметрамі метадаў могуць прымаць аб'екты іншых класаў і маніпуляваць гэтымі аб'ектамі. Давайце паглядзім на прыкладзе. Хай у нас ёсць наступны клас:

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

Хай мы вырашылі зрабіць клас, які будзе маніпуляваць наборам аб'ектаў з карыстальнікамі:

<?php class UsersCollection { } ?>

Будзем захоўваць аб'екты з карыстальнікамі у выглядзе масіва ў прыватнай уласцівасці:

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

Зробім метад для дадавання новага карыстальніка ў масіў:

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

А цяпер зробім метад, які вывядзе імёны ўсіх карыстальнікаў:

<?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 $uc = new UsersCollection(); ?>

Цяпер дадамо ў нашу калекцыю некалькі карыстальнікаў:

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

А цяпер выклічам метад, які вывядзе імёны ўсіх карыстальнікаў:

<?php $uc->show(); ?>

Зрабіце клас EmployeesCollection, які будзе ўтрымліваць масіў работнікаў.

Зрабіце ў гэтым класе метад для дадавання новага работніка.

Зрабіце ў гэтым класе метад для вываду ўсіх работнікаў.

Зрабійте ў гэтым класе метад для разліку сумарнай заробчнай платы ўсіх работнікаў.

Зрабіце ў гэтым класе метад для разліку сярэдняй заробчнай платы ўсіх работнікаў.

byenru