igorsimdyanov / php8

Примеры к книге "PHP 8. Котеров Д., Симдянов И."
65 stars 16 forks source link

Стр. 302-303 #289

Open Cleverscript opened 7 months ago

Cleverscript commented 7 months ago

В листинге 13.21 подключается класс из файла https://github.com/igorsimdyanov/php8/blob/master/methods/point.php создаются объекты, и устанавливаются значения полей https://github.com/igorsimdyanov/php8/blob/master/complicated_functions/sort_anonim.php

$fst = new Point;
$fst->x = 12;
$fst->y = 5;

Но в самом классе эти поля объявлены приватными, по идее правильно было бы через сеттеры, которые есть в классе

$fst->setX(12);
$fst->setY(5);

Ну и геттеры нужны в коллбэке

usort($arr, function($a, $b){
    $distance_a = sqrt($a->getX() ** 2 + $a->getY() ** 2);
    $distance_b = sqrt($b->getX() ** 2 + $b->getY() ** 2);
    return $distance_a <=> $distance_b;
});