Symfony Routing `Опции` Ключ конфигурации

Первоначально написано и доступно на этой ссылке

function _ago($tm,$rcs = 0) {
   $cur_tm = time(); $dif = $cur_tm-$tm;
   $pds = array('second','minute','hour','day','week','month','year','decade');
   $lngh = array(1,60,3600,86400,604800,2630880,31570560,315705600);
   for($v = sizeof($lngh)-1; ($v >= 0)&&(($no = $dif/$lngh[$v])<=1); $v--); if($v < 0) $v = 0; $_tm = $cur_tm-($dif%$lngh[$v]);

   $no = floor($no); if($no <> 1) $pds[$v] .='s'; $x=sprintf("%d %s ",$no,$pds[$v]);
   if(($rcs == 1)&&($v >= 1)&&(($cur_tm-$_tm) > 0)) $x .= time_ago($_tm);
   return $x;
}

Требуется значение time (), и оно сообщит вам, сколько секунд / минут / часов / дней / лет / десятилетия назад.

0
задан Alan Storm 11 March 2019 в 14:15
поделиться

1 ответ

При копировании в файл класса объекта маршрута обнаруживается это

#File: vendor/symfony/routing/Route.php
public function setOptions(array $options)
{
    $this->options = array(
        'compiler_class' => 'Symfony\\Component\\Routing\\RouteCompiler',
    );

    return $this->addOptions($options);
}

То есть - Symfony устанавливает поле compiler_class в массиве опций, и именно этот массив опций является ключом конфигурации options: связано с. Затем Symfony использует эту опцию класса компилятора в том же классе

#File: vendor/symfony/routing/Route.php
public function compile()
{
    if (null !== $this->compiled) {
        return $this->compiled;
    }

    $class = $this->getOption('compiler_class');

    return $this->compiled = $class::compile($this);
}

Так что - вероятно, не то, что 99% разработчиков Symfony понадобится / захочет использовать, но оно все еще там.

0
ответ дан Alan Storm 11 March 2019 в 14:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: