/** * @param int $amount * @param array $forms * @return string */ public function getForm($amount, array $forms) { df_param_integer($amount, 0); /** @var string $result */ $result = dfa($forms, $this->getIndex($amount)); df_result_string($result); return $result; }
/** * @used-by \Df\Qa\Method::raiseErrorParam() * @param int $paramOrdering zero-based * @return \ReflectionParameter */ public function methodParameter($paramOrdering) { df_param_integer($paramOrdering, 0); if (!isset($this->{__METHOD__}[$paramOrdering])) { // Метод должен существовать df_assert($this->method()); // Параметр должен существовать if ($paramOrdering >= count($this->method()->getParameters())) { df_error("Программист ошибочно пытается получить значение параметра с индексом {$paramOrdering}" . " метода «{$this->methodName()}», хотя этот метод принимает всего %d параметров.", count($this->method()->getParameters())); } df_assert_lt(count($this->method()->getParameters()), $paramOrdering); /** @var \ReflectionParameter $result */ $result = dfa($this->method()->getParameters(), $paramOrdering); df_assert($result instanceof \ReflectionParameter); $this->{__METHOD__}[$paramOrdering] = $result; } return $this->{__METHOD__}[$paramOrdering]; }
/** * @param int $number * @param string $gender * @return string */ private function getNaturalNumberInWords($number, $gender) { df_param_integer($number, 0); df_param_between($number, 0, 0, self::MAX_NUMBER); df_param_string($gender, 1); df_assert_in($gender, [self::GENDER__MALE, self::GENDER__FEMALE]); /** @var string $result */ $result = 'ноль'; if (0 !== $number) { $result = preg_replace(['/s+/', '/\\s$/'], [' ', ''], $this->getNum1E9($number, $gender)); } df_result_string($result); return $result; }
/** * @param int $amount * @param array $forms * @return string */ public function getNounForm($amount, array $forms) { df_param_integer($amount, 0); return $this->getNounFormatter()->getForm($amount, $forms); }