Esempio n. 1
0
 /**
  * @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;
 }
Esempio n. 2
0
 /**
  * @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];
 }
Esempio n. 3
0
 /**
  * @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;
 }
Esempio n. 4
0
 /**
  * @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);
 }