namespace MathFunctions;
class QuadraticEquation
{
privatre $_x, $_y;
private $_hasRoots;
public function __construct($a, $b, $c)
{
$d = $b*$b - 4*$a*$c;
if ($d >= 0) {
$d2 = sqrt($d);
$this->_x = (-$b + $d2) / (2*$a);
$this->_y = (-$b - $d2) / (2*$a);
$this->_hasRoots = true;
} else {
$this->_x = $this->_y = 0;
$this->_hasRoots = false;
}
}
public function hasRoots()
{
return $this->_hasRoots;
}
public function roots()
{
return $this->_hasRoots
? [$this->_x, $this->_y]
: [];
}
}
Если табы регистрируются статически (то есть, список табов строится методом, а находится в каком-либо конфиге), то предлагаю список табов передавать через определение сервиса TabStack:
или
>когда в контроллерах есть какой то метод, возвращающий массив объектов (табов)
Теперь в контроллере получаете TabStack из контейнера, и в нём берите уже готовый список табов. Или получать список табов в шаблоне (сделать функцию через расширение Twig).