Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

bobno avatar bobno 17 Точки

Problem 17* Print People

80 / 100 гърми Test 2
https://pastebin.com/xQ41x0sf

Знам, че решението не е никак ОК, но имам голям проблем с тва OOP, взеха малко от малко да се получават решенията, но първо гледам да е работещо и след това се опитвам да го направя все по-правилно.

 

Ако модератор гледа това, предпочитам да ми даде входа на теста, да го измисля сам :)

Тагове:
0
PHP Fundamentals
dvdty avatar dvdty 497 Точки
Best Answer

Правиш обект, който изобщо не изполваш. Можеш просто да запълваш масива persons с хората:

$people[] = new Person($name, $age, $occupation);

Така, ще имаш позлва от обекта, а няма да презаписваш $person и да не правиш нищо с него.

Трябва да сортираш по години, затова ще им сложиш един getter:

public function getAge()
{
	return $this->age;
}

И след това ще го използваш, за да сортираш:

usort($people, function($a, $b){
	return $a->getAge() > $b->getAge();
});

В края е най-препорачително да позлваш магическата функция __toString, за да извикваш всеки един от тях:

public function __toString()
{
	return $this->name . ' - age: ' . $this->age . ', occupation: ' . $this->occupation . PHP_EOL;
}

И следователно:

foreach ($people as $person) {
	echo $person;
}

Ето как изглежда и целия код: https://pastebin.com/VWA1JTbE

1
bobno avatar bobno 17 Точки

Благодаря, че отдели от времето си !

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.